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}
が、これで私は手紙で取得していますし、その1つの値のみを取得:
{C: true, a: true, r: true}
ねえヨーダは、あなたの助けに感謝そんなに、これは素晴らしいです。残念ながら、私は今、私のPCから遠く離れています。明日までにお返事します。ありがとうございます –
しかし、私はあなたにこのフォーマットに正確に見えるようにJSONをどのように作成することができるのですか?{Car:true、Ball:true} '、私は非常にプログラミングに新しいです –
@ M.Izzat Take私の更新された答えを見てください。あなたの問題を解決する必要があります。 –