选中复选框时,将属性值传递给“this”元素的数组

时间:2015-03-18 20:17:56

标签: javascript jquery html json html5

从以下函数将元素属性值推送到数组的最简单方法是什么?如果从树中检查所有元素,也从最近的ul列表中检查,则推送值,但无法获取最后的子元素ul ,基本上我有一个3级嵌套ul,当你检查该列表中的任何元素时,我需要得到最后一个ul的attr值。

我有一个jsfiddle http://jsfiddle.net/0g1hk7mt/3/

这就是js的样子:

var arr = [];  
  function checkboxGroup() {

      $('#sidebarNav input[type="checkbox"]').on('change', function(){
        arr = [];      
        var checkboxes = $(this).parent().next('ul').find('input[type="checkbox"]');

          //console.log(checkboxes);
        //[10101, 191919, 19191, 119191]

        if ($(this)[0].checked == true) {
          checkboxes.each(function(){
              arr.push($(this).attr("id"));
              $(this).prop('checked', true).attr('checked', 'checked');
          });
        } else {
          checkboxes.each(function(){
              $(this).prop('checked', false).removeAttr('checked');
              //console.log(this);
          });
        };
       alert(arr);
      });

    } 
  checkboxGroup()

0 个答案:

没有答案