我正在生成一个复选框列表&基于来自服务器的数据的单选按钮。该页面是使用Ember的Handlebars模板。要在页面上生成我的列表,我使用以下代码行:
document.getElementById('radioList').innerHTML = newHtml;
如果newHtml
设置为:
<li><input type="radio" id="radio1" name="radio /><label for="radio1">List item one</label></li>
但是,我希望根据选择或取消选择的这些单选按钮(或复选框)触发事件 - 并且在一些谷歌搜索之后,似乎使用Handlebars帮助程序是可行的方法。但是当我尝试使用把手插入单选按钮时,newHtml
设置为:
<li>{{input type="radio" id="radio1" name="radio }}<label for="radio1">List item one</label></li>
文本只是出现而不是单选按钮本身。进一步研究这似乎表明我插入的Handlebars模板需要重新编译?我可能错了,但我花了很多时间寻找这个问题的答案,似乎无法找到它们。任何帮助将不胜感激!
答案 0 :(得分:0)
这可以帮助您使用jQuery执行此操作。
使用按钮触发
<h2>Click and select radio button</h2>
<input type="button" id="btn" value="Generate"/>
<input type="hidden" value="1" id="hid" />
<强> JQUERY 强>
$("#btn").click(function(){
var generatedradios=$("#hid").val();
var str='<input type="radio" class="generated" data-generated="'+generatedradios+'" id="radio1" name="radio" />';
$("#hid").val(Number(generatedradios)+1);
$("body").append(str);
});
$(document).on("change",".generated",function(){
alert($(this).attr("data-generated"));
});
<强> FIDDLE 强>