0

ここにフィドルがあります: my fiddle。私がやろうとしているのは、リストの別のグループからアイテムのリストを作成することです。私は自分が間違っていることを理解できないようですが、ここで何が起こっているのですか:

  1. 表形式のデータに基づくリストのグループがあります
  2. 各リストには、列の名前と選択チェックボックスがあります
  3. 項目を選択すると、選択した列領域 (垂直リスト) に追加する必要があります
  4. チェックボックス付きの 14 個の固有の表形式のアイテムがあります
  5. (問題 -->)アイテムを選択すると、選択した列セクションに 14 回追加されます

コード

(html):

HTML を挿入しようとしましたが、正しく動作しません。上記のフィドルを見てください。

(jquery):

var dte = // drag table elements
{
init: function() {
    var chkbx = $('.group input[type="checkbox"]:checkbox');
    //var chkbx = $('#accordion');
    for (var i = 0, ii = chkbx.length; i < ii; i++) {
        $(chkbx).bind("click", dte.adjustList);
    }
},

adjustList: function(event) {
    var list = [];
    var str = '';
    var eleval = event.currentTarget.value;
    var eleid = event.currentTarget.id;
    if (eleval == 1) {
        list.push(eleid);
        str = '<li>' + eleid + '</li>';
    }
    $('#vertical ul').append(str);
/*
    //var ele = event.currentTarget.id;
    var allVals = [];
    var str = '';
    //var obj = $("#"+ele);
    var ele = $('#accordion');
    $(obj+': checked').each(function(){
        allVals.push($(this.val()));
        dte.list.push($(this.val()));
        str += '<li>'+$(this.val())+'</li>';
    });
    $('#verticle').text(str);
    alert('List: ' + toString(list));
    */
}
};
dte.init();
4

4 に答える 4

2
init: function() {
    $('.group input:checkbox').bind("click", dte.adjustList);
},
于 2012-06-14T13:38:18.967 に答える
0

セレクターに基づいてバインドする必要があるのは 1 回だけです。

init: function() {
        var chkbx = $('.group input[type="checkbox"]:checkbox');
        $(chkbx).bind("click", dte.adjustList);
 },

フィドル

于 2012-06-14T13:39:54.740 に答える
0

私はあなたのフィドルを編集しましたfor loop。ここにリンクが更新されたフィドル がありますクリックイベントを一度だけバインドする必要があります。

于 2012-06-14T13:40:14.303 に答える
0

イベントを複数回バインドしています。次のようなことができます。

init:function(){
  $('.group input[type="checkbox"]:checkbox').bind('click',dte.adjustList);
},

あなたのフィドルを編集しました:

http://jsfiddle.net/emphaticsunshine/tPAmc/

于 2012-06-14T13:40:16.003 に答える