Jquery中的关联数组遍历每个元素



我有一个类似

的元素
<div class="control">
      <label>&nbsp;</label>
       <input type="checkbox" id="1"><span class="controlText">Check Box</span>
        <div style="display: inline;" class="delete"><sup>x</sup></div>
        <div style="display: inline;" class="properties chkbox">Properties</div>
     </div>

这个元素属于一个id为userForm的表单我所做的是,当用户单击按钮时,它调用一个函数,并使用类控件搜索所有div,并获取有关该div中元素的信息。

 if($("#userForm").children().size() > 1){
        var controls = new Array();
        $('#userForm').find('div.control').each(function(index, Element)
            {
                if($(Element).find('input').attr('type') == "checkbox")
                {// If element is of type checkbox
                    var attributes = new Array();
                    attributes[type] = "checkbox";
                    attributes[name] = $(Element).find('.controlText').text().toLowerCase().split(" ").join("_")+"_"+$(Element).find('input').attr("id");
                    attributes[required] = $(Element).find('input').hasClass('required');
                    controls[index] = attributes;
                    $.each(attributes, function(key, value) {
                        // here i need to print the array. 
                        // I need a format of the arrays like
                        //  controls[0]
                        //            =>
                        //              [type] = checkbox
                        //              [name] = chk_name_1
                        //              [required] = ture
                        //          [1] 
                        //            => .....  
                        alert( "The key is '" + key + "' and the value is '" + value + "'" );
                    }); 
                }
            });
}

您的代码基本正确,但是存在一些问题。在为attributes数组的元素赋值的行中,需要将元素的名称放在引号中:

attributes["type"] = "checkbox";

否则,它将寻找一个不存在的变量type

你的.each循环将工作得很好,所以你只需要以你喜欢的任何格式打印值。注意,循环中的value是一个数组,因此要打印type,例如,您需要:

value["type"]

您还循环遍历错误的集合,因此将$.each(attributes, function(key, value) {更改为$.each(controls, function(key, value) {

相关内容

  • 没有找到相关文章

最新更新