我有一個窗體,其中有一個用於依賴列表的2個選擇框。獲取取消選項的值Multiselect
我正在根據第一個列表中選擇的值(多選)加載第二個列表。
<select id="list1" multiple='multiple'>
<option value="a">a value</option>
<option value="b">b value</option>
<option value="c">c value</option>
</select>
<select id="list2">
</select>
對於每個選項添加到列表2,我還加入了一類具有對應於所述列表2值列表1的值。
對於加載元件,用於選擇的選項中,我使用的代碼:
$('#list1').on('change', function(){
var list1vals = $('#list1').val().split(',');
var newval = '';
for(x in list1vals)
{
// Checking for selected value of list1 which doesn't have
// corresponding values in list2.
if($('.'+list1vals[x]).length == 0)
{
newval = list1vals[x];
}
}
$.ajax({
type : "GET",
url : "/xyz.php?action=getlist2&list1="+newval,
success : function(response)
{
if($.trim(response) != '')
{
$('#list2').append(response);
}
}
});
});
xyz.php
$action=$_GET['action'];
$listval1=$_GET['list1'];
switch($action)
{
/////////////////
case 'getlist2':
$list2 = fetchlist2($list1val);
foreach($list2 as $listobj)
{
$optionlist = '<option class="'.$list1val.'" value="'.$listobj['id'].'">'.$listobj['value'].'</option>';
}
echo $optionlist;
break;
////////////////
}
是否有任何方式,其中我可以從刪除的元素未被選擇的List1中列表2?
即,當一個選項未被選中時,我想刪除list2中具有未選定元素的類值的所有元素。
注意:在fetchlist2
中獲取列表的操作非常昂貴,因此我想要處理javascript中元素的刪除操作。
對不起,在這麼長時間後回覆,但列表的內容是分開的,因此第一個解決方案不起作用。另一種解決方案也不適合。我可能模糊地描述了我的問題。發佈我最後做了什麼。 – 2013-03-25 16:49:01