2

各子にチェックボックスを追加したい。そのために私が使用した

var len = $("#personalDetails").children("div").length;
    for(var id=0; id<len;id++)
    {
       var el = $('<input type="checkbox"/>');
        $("#personalDetails").children(":first").attr("id",id);
        alert(id);
        $( "#"+id).append(el);       
    } 

html

<div id="personalDetails">
    <div>personal</div>
    <div>Education</div>
</div>

これを行うことで、問題が発生しました。すべてのチェックボックスは 1 つの div の下にあります。1 つの div に 1 つを設定し、他の div にもう 1 つを設定するにはどうすればよいですか? [注: children div には ID やクラスを指定できません] http://jsfiddle.net/QTzrB/

4

5 に答える 5

2

あなたはできる

$(document).ready(function(){
    $('#personalDetails > div').each(function(idx, el){
        $('<input type="checkbox"/>').attr("id", idx).appendTo(el);
    })
    $('#personalDetails').on('click', 'input[type="checkbox"]', function(){
        alert(this.id);
    });
});

デモ:フィドル

于 2013-07-31T06:55:16.547 に答える
0

div リストをキャッシュする必要があります。また、入力要素に ID を付けたくない場合は、それらをキャッシュすることもできます。

以下のコードはFiddleで動作しています。

$(document).ready(function(){
    var divs = $("#personalDetails").children("div");
    var len = divs.length;

    for(var id = 0; id < len; id++) {
       var el = $('<input type="checkbox"/>');
       divs.eq(id).append(el);       
    }
});
于 2013-07-31T07:08:24.300 に答える
0

これを試して

$(document).ready(function(){
    var len = $("#personalDetails").children("div").length;
    $("#personalDetails div").each(function(idx) {
    $(this).append("<input type='checkbox' id="+ idx +" />");
});

$("input[type=checkbox]" ).on("click",function(){
       alert($(this).attr("id"));
 });
});

フィドルのデモ

于 2013-07-31T07:00:57.787 に答える
0
$(document).ready(function(){       
  $("#personalDetails").children("div").each(function(index, obj) {
     var $chk = $("<input/>",{"type":"checkbox"});
     $(this).prepend($chk.attr("id",index));                
     $chk.on("click",function(){
        alert(this.id);
     });
   });
});

ここでの動作デモ: http://jsfiddle.net/HNezs/

于 2013-07-31T07:01:03.070 に答える
0

スクリプトをこれに置き換えてください。これがあなたの望むことをすることを願っています。

$(document).ready(function(){
    $('#personalDetails').children('div').each(function(){
     $(this).append('<input type="checkbox"/>');
    });
});

フィドル

于 2013-07-31T07:03:18.310 に答える