我在这里有一个小提琴:my fiddle。我要做的是从一组单独的列表中创建一个项目列表。我似乎无法理解我做错了什么,但这里发生了什么:
代码
(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();
答案 0 :(得分:2)
init: function() {
$('.group input:checkbox').bind("click", dte.adjustList);
},
答案 1 :(得分:0)
您只需根据选择器绑定一次。
init: function() {
var chkbx = $('.group input[type="checkbox"]:checkbox');
$(chkbx).bind("click", dte.adjustList);
},
答案 2 :(得分:0)
我编辑了你的小提琴,我删除了for loop
。这是链接updated fiddle
您只需要将click事件绑定一次。
答案 3 :(得分:0)
您多次绑定事件。你可以这样做:
init:function(){
$('.group input[type="checkbox"]:checkbox').bind('click',dte.adjustList);
},
编辑你的小提琴: