。我在表单上使用custom form elements。
<fieldset>
<legend id="Cities">Cities</legend>
<div class="legend-underline"></div>
<div class="filters" id="Cities-filters">
<div>
<span class="checkbox" style="background-position: 0pt -34px;"></span>
<input type="checkbox" value="Adelaide" class="styled" name="sidecity" id="sidecity-control-name-0">
<label for="sidecity-control-name-0">Adelaide (58)</label>
</div>
</fieldset>
[更新]
var inputs = $('.filters-widget.bordered div[class!="filters"]');
inputs.each(function (index, element) {
$(element).click("click", function () {
console.log(element);
});
});
当我点击div时,方法log()被调用两次。
如何解决这个问题?
答案 0 :(得分:1)
将事件处理程序绑定到复选框click
事件。您可以通过检查处理程序中的checked
属性来确定是否选中了复选框:
$('#sidecity-control-name-0').click(function() {
console.log(this.checked);
});
答案 1 :(得分:1)
您想从标记创建自定义元素吗?馊主意。在将css设置为display:none后,尝试将元素包含在标记中。使用元素的change事件来确定如何显示show your markup元素。
这就是jquery UI和Uniform所做的。检查出来
答案 2 :(得分:1)
在复选框设置样式后尝试.on函数