$(".dum").click(function() {
document.getElementById("ev").value=$(this).attr("data-name");
$("#test-form").dialog("open");
});
// this is just the test
cell2.innerHTML = '<span class="dum" style="color:'+testvalues[i]+'; font-size:20px;">'+testvalues[i + 2] || ''+'data-name=" '+testvalues[i+2] +'">'+ '</span>';
<div id="test-form" title="Event Information">
<p>Event:</p>
<input id= "ev" type="text" name="fullname" disabled />
</div>
我有一个<span>
,其中有来自db的值。我正试图使用jquery将这些值输入到输入框中,但我的定义不明确。攻击者的名字是“数据名”。我不知道我在这里做错了什么。我将非常感谢你的帮助。
发布于 2017-06-05 23:47:54
1:您需要重写span
2:你需要Event binding on dynamically created elements?
这是一个例子
$(document).ready(function(){
var testvalues = ['red','no','Click Me','name'],
i = 1;
$('#cell2').html('<span class="dum" style="color:'+testvalues[i]+'; font-size:20px;" data-name="'+testvalues[i+2] +'">'+testvalues[i+1] +'</span>');
$(document).on('click' , ".dum" , function() {
$("#ev").val($(this).data("name"));
//$( "#test-form").dialog("open");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="cell2"></div>
<div id="test-form" title="Event Information">
<p >Event:</p>
<input id= "ev" type="text" name="fullname" disabled />
</div>
注意:我不喜欢将jquery与纯js混合,所以我使用jquery
发布于 2017-06-05 23:32:57
请检查您正在插入的span
。我不认为这个问题与jQuery有关,而是您实际上并没有编写data-name
属性。||
在innerHTML
上是干什么的?因为有了这个||
,您只编写了字符串的第一部分(所有内容都放在左边),而向右没有写任何东西( data-name
属性)。
发布于 2017-06-05 22:46:02
而是使用jQuery数据属性。
document.getElementById("ev").value=$(this).data("name");
https://stackoverflow.com/questions/44378807
复制相似问题