У меня есть форма, которая имеет 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>
Для каждого варианта добавлен в list2, я также добавить класс со значением list1, соответствующего значению list2.
Для загрузки элементов для выбранного варианта, я использую код:
$('#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?
Если опция не выбрана, я хочу удалить все элементы в списке2, имеющие значение класса для невыделенного элемента.
Примечание: операция для извлечения списка в fetchlist2
является дорогостоящей и, следовательно, я хочу обработать удаление элемента в javascript.
Извините, что ответили так долго, но содержание списков было раздельным и, следовательно, первое решение не сработало. Другой вариант не подходит. Я, вероятно, слишком смутно описал свой вопрос. Написал, что я наконец сделал. –