Очистить зависимый выпадающий список при выборе другого значения

У меня есть несколько зависимых выпадающих, которые получают из моей базы данных.
Первый выпадающий список выберет eOpp, а второй выпадающий список будет основан на выбранном eOpp из первого выпадающего списка.

//First Drop down
<label>Select eOpp</label>
<?php erfq_generateOppDropdown($oppID,"erfq_rfq_oppID");?>

//Second Drop down
<label>Select Item</label>
<select id="item" name="item[]" multiple="multiple">
</select>

Вот мой Ajax, чтобы получить значение из первого выпадающего списка.

function getItem(val) {
$.ajax({
type: "POST",
url: "get_item.php",
data:'erfq_rfq_oppID='+val,
success: function(data){
$("#item").empty().html(data);
$("#item").multipleSelect("refresh");
}
});
}

Работает нормально, чтобы генерировать оба выпадающих. Но когда первый выпадающий список (Select eOpp) изменился, второй выпадающий список все равно останется предыдущим значением в моем выпадающем меню. Я использую этот multiSelect для моего второго раскрывающегося списка под основами1. jquery.multiple.select.js

Например, когда я выбрал первый eOpp, результат будет таким:

Выберите eOpp: 1
Выберите предмет:
Элемент 1 (А)
Элемент 1 (B)

Но после того, как я изменил Выберите eOpp, это станет так:

Выберите eOpp: 2
Выберите предмет:
Элемент 1 (А)
Элемент 1 (B)
Элемент 2 (А)

Это сохранит предыдущее значение, где ППНЗ = 1 но когда я использую php для $_POST это, я не ценю. Я должен удалить предыдущую запись соответственно, когда я меняю Выберите eOpp
РЕДАКТИРОВАТЬ
Проблема возникает, когда реализован multiSelect.

$(function() {
$('#item').change(function() {
console.log($(this).val());
}).multipleSelect({
width: '100%'
});
});

1

Решение

Уничтожение и реинитализация должны работать:

$("#item").multiselect('destroy');
$("#item").multiselect();
0

Другие решения

После того, как я изменил плагин multiSelect, он хорошо работает с моим кодом.
Для получения дополнительной информации, пожалуйста, смотрите JSFiddle. Несколько изменений функции

1) function MultipleSelect($el, options)


2) MultipleSelect.prototype = {
constructor : MultipleSelect,

init: function() {
var that = this,
html = [];
if (this.options.filter) {
html.push(
'<div class="item-search">',
'<input type="text" autocomplete="off" autocorrect="off" autocapitilize="off" spellcheck="false">',
'</div>'
);
}
3) optionToHtml: function (i, elm, group, groupDisabled) {
0

По вопросам рекламы [email protected]