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看看我更新的答案。應該解決你的問題。 –