我的复选框列表中有复选框,如下所示:
var bundleObj = groupObject["bundle"];
if (bundleObj.ValueType == JsonValueType.Array)
{
JsonArray bundle = bundleObj.GetArray();
foreach (JsonValue groupValue1 in bundle)
{
JsonObject groupObject1 = groupValue1.GetObject();
string bundleName = groupObject1["bundle_file"].GetString();
string pathFile = groupObject1["path_file"].GetString();
}
}
我已经像这样在jQuery中创建了一个on click函数,只是为了检查它是否会起反应:
<div class="pop-mission-to">
<label>
<input class="check-brand" type="checkbox" name="" value="1" data-id="1">
</label>
</div>
<div class="pop-mission-to">
<label>
<input class="check-brand" type="checkbox" name="" value="2" data-id="2">
</label>
</div>
然而,当我点击复选框时,没有任何反应。我做错了什么?
编辑,伙计我在$ .Post之后创建此HTML,如下所示:
$('.check-brand').click(function() {
alert("Checkbox checked");
});
也许是因为HTML是在jquery中调用$ .post之后生成的,这就是为什么它没有触发事件的原因?
答案 0 :(得分:2)
问题是因为您在加载DOM后动态追加元素,因此您需要使用委托的事件处理程序。另请注意,您应该在复选框上使用change
事件,而不是click
。试试这个:
$('.check-user').click(function() {
var $this = $(this);
var user_id = $this.attr('value');
var brandContainer = $this.closest('.pop-state').siblings('.pop-brands');
brandContainer.on('change', '.check-brand', function() {
alert("Checkbox checked");
});
// the rest of your code...
});