0
我为我的甘特图创建了一个下拉多选框过滤功能,但我无法获取所有选定的值并将其追加到数组中。谁能帮我这个,任何的帮助深表感谢从下拉列表中获取多个值复选框复选框
下面是我的代码:
HTML:
<label class="text-primary" for="type_2">Search Type: </label>
<dl id="type_2" class="dropdown">
<dt>
<a href="#">
<span class="hida">ALL</span>
<p class="multiSel"></p>
</a>
</dt>
<dd>
<div class="search_type_filter">
<ul>
<li><input type="checkbox" value="ALL" selected="Selected" checked="1" />ALL</li>
<li><input type="checkbox" value="Car" />Car</li>
<li><input type="checkbox" value="Bike"/>Bike</li>
<li><input type="checkbox" value="Ball"/>Ball</li>
</ul>
</div>
</dd>
</dl>
的Javascript:
$('.search_type_filter input[type="checkbox"]').on('click', function() {
var title = $(this).closest('.search_type_filter').find('input[type="checkbox"]').val(),
title = $(this).val() + ",";
var values = $(this).closest('.search_type_filter').find('input[type="checkbox"]').val(),
values = $(this).val();
search_type_value = {};// put combo value into scope variable
for(var i = 0; i < values.length; i++){
search_type_value[values[i]] = true;// build hash for easy check later
}
console.log(search_type_value);
gantt.render();// and repaint gantt
if ($(this).is(':checked')) {
var html = '<span title="' + title + '">' + title + '</span>';
$('.multiSel').append(html);
$(".hida").hide();
} else {
$('span[title="' + title + '"]').remove();
var ret = $(".hida");
$('.dropdown dt a').append(ret);
}
});
gantt.attachEvent("onBeforeTaskDisplay", function (id, task) {
if(search_type_value['ALL'])
return true;
return !!search_type_value[task.search_type];
});
所以最后的结果我想要什么是让我说我检查汽车和球它会给我这样的阵列:
{Car: true, Ball: true}
但这个我通过信件获取和其只得到一个值:
{C: true, a: true, r: true}
嘿尤达,非常感谢您的帮助,这看起来不错。不幸的是我现在离我的电脑很远,明天我会和你回去。非常感谢你 –
但是它的进步,我可以问你如何创建JSON看看这个格式'{Car:true,Ball:true}',我很抱歉,我很新编程 –
@ M.Izzat Take看看我更新的答案。应该解决你的问题。 –