将jQuery与自定义表单元素一起使用

时间:2012-02-06 17:50:45

标签: jquery html html-form

。我在表单上使用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()被调用两次。

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

将事件处理程序绑定到复选框click事件。您可以通过检查处理程序中的checked属性来确定是否选中了复选框:

$('#sidecity-control-name-0').click(function() {
    console.log(this.checked);
});

http://jsfiddle.net/qgR42/

答案 1 :(得分:1)

您想从标记创建自定义元素吗?馊主意。在将css设置为display:none后,尝试将元素包含在标记中。使用元素的change事件来确定如何显示show your markup元素。

这就是jquery UI和Uniform所做的。检查出来

答案 2 :(得分:1)

在复选框设置样式后尝试.on函数