如何动态设置按钮ID并绑定点击事件?
问题描述:
使用此代码动态生成按钮和分配上ID:使用此代码让每一个按钮的ID在其click事件如何动态设置按钮ID并绑定点击事件?
function successCBofMissedNamazFromDB(tx, results) {
if (results != null && results.rows.length > 0 && results.rows != null) {
var htmlstring = "";
var temp = 0;
for (var i = 0; i < results.rows.length; i++) {
htmlstring += '<div class="ui-grid-b">';
htmlstring += '<div class="ui-block-a ui-bar-d" style="font-size:x-medium;height:80px;">'
+ prayerName[i] + '</div>';
htmlstring += '<div class="ui-block-b ui-bar-e" style="font-size:x-medium;height:80px;">'
+ results.rows.item(i).missing_prayers + '</div>';
alert(""+performedNamaz[i]);
htmlstring += '<div class="ui-block-c ui-bar-e" style="font-size:x-medium;height:80px;"><input type="number" data-inline="true" data-mini="true" value="'+performedNamaz[i]+'"/><a href="#" data-role="button" data-inline="true" data-icon="plus" id=button'+i+' style="float:right;width:30%;">ADD</a>'
+''+ '</div>';
htmlstring += '</div>';
}
$("#chart1").empty().append(htmlstring).trigger('create');
}
}
:
$('button').live('click', function(){
var btnId = $(this).attr('id');
alert(btnId);
});
一些语法错误在这行的为什么它不工作别人,当我尝试静态分配ID,它的做工精细
htmlstring += '<div class="ui-block-c ui-bar-e" style="font-size:x-medium;height:80px;"><input type="number" data-inline="true" data-mini="true" value="'+performedNamaz[i]+'"/><a href="#" data-role="button" data-inline="true" data-icon="plus" id=button'+i+' style="float:right;width:30%;">ADD</a>'
+''+ '</div>';
答
问题与
value='+performedNamaz[i]+' and id=button'+i+'
改成了
htmlstring += '<div class="ui-block-c ui-bar-e" style="font-size:x-medium;height:80px;"><input type="number" data-inline="true" data-mini="true" value="+performedNamaz[i]+"/><a href="#" data-role="button" data-inline="true" data-icon="plus" id=button"+i+" style="float:right;width:30%;">ADD</a>'
和Live()已过时的()函数使用了button
click
。
答
我认为delegates会在您的示例中更好,而不是live()
。
$('.ui-block-c').delegate('a#button','click', function(){
var btnId = $(this).attr('id');
alert(btnId);
});
一个侧面说明:它是对HTML规格有一个以上的元件轴承相同的ID,所以我建议你用一个类,而不是
答
取代它正如你所说的代码工作正常静态值我假设问题是靠近ID。 尝试把“近ID。
id="button'+i+'"
全码
htmlstring += '<div class="ui-block-c ui-bar-e" style="font-size:x-medium;height:80px;"><input type="number" data-inline="true" data-mini="true" value="'+performedNamaz[i]+'"/><a href="#" data-role="button" data-inline="true" data-icon="plus" id="button'+i+'" style="float:right;width:30%;">ADD</a>'
+''+ '</div>';
作的修改,但仍然$( '按钮')。住( '点击',函数(){ VAR btnId = $(本).attr('id'); alert(btnId); }); – nida 2013-05-10 08:58:43
上面提到的函数在注释中并没有触发,我没有得到id点击按钮 – nida 2013-05-10 08:59:19
请看看这篇文章也:http:/ /stackoverflow.com/questions/16458943/how-to-get-this-result-from-sqlite-coalesce-query – nida 2013-05-10 09:03:49