我对 Jquery 有点陌生并且遇到了这个问题。
这是我的 javascript
$(document).ready(function () {
$("input.selected").change(function () {
var cbid = $(this).attr('id');
var id = cbid.substring(3);
var base = window.location.host;
if ($(this).is(':checked')) {
$.ajax({
type: "Get",
url: "/api/SPChoices/" + id,
success: function (data) {
alert("Choice succesfully saved.");
},
error: function (data) {
alert("This user cannot be added.");
}
});
}
else {
$.ajax({
type: "Delete",
url: "/api/SPChoices/" + id,
success: function (data) {
alert("Choice succesfully removed." + data);
},
error: function (data) {
alert("This user cannot be deleted");
}
});
}
});
$.ajax({
type: "Get",
url: "/api/SPChoices",
data: "{'Count':'7'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
ApplyTemplate(msg);
}
});
});
而应用模板生成代码的html。这是正确生成的。
function ApplyTemplate(msg) {
$("#HBsTemplate").tmpl(msg).appendTo("#Container");
}
</script>
<script id="HBsTemplate" type="text/x-jquery-tmpl">
<div>
<div style=" float:left">
<img id="imgChooseHBpp" src="/Images/2.png" alt="alt text" />
</div>
<div>
<h3>${HostedBuyer.Name}</h3>
<p>templ</p>
<input class='selected' type='checkbox' {{if IsSelected}} checked="yes" {{/if}} id='cb_${HostedBuyer.id}' />
</div>
</div>
</script>
我的问题是更改复选框不会触发事件。
如果我在服务器上的 razor 中生成上述 html,但当我在客户端生成上述 html 时,它可以正常工作吗?
我错过了什么??请帮忙。
提前致谢。