Объединить начальной загрузки и JQuery цепочки
Я собираюсь объединить bootstrap-select и jquery, чтобы отфильтровать мой список выбора. она мой код
<select id="mark" name="mark" class="selectpicker" multiple>
<option value="">--</option>
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</select>
<select id="series" name="series" class="selectpicker" multiple>
<option value="">--</option>
<option value="series-3" class="bmw">3 series</option>
<option value="series-5" class="bmw">5 series</option>
<option value="series-6" class="bmw">6 series</option>
<option value="a3" class="audi">A3</option>
<option value="a4" class="audi">A4</option>
<option value="a5" class="audi">A5</option>
</select>
Когда я выбираю BMW и AUDI. Единственная серия, которая появилась, была для BMW. Я ожидаю BMW и AUDI серии. Вот пример jsfield https://jsfiddle.net/80zkodod/.
1 ответ
/*! Chained 1.0.0 - MIT license - Copyright 2010-2014 Mika Tuupola */
!function (a, b) {
"use strict";
a.fn.chained = function (c) {
return this.each(function () {
function d() {
var d = !0;
a(e).html(f.html());
var h = a("option:selected", this).parent().val();
var arr = h.toString().split(",");
a("option", e).each(function () {
var current_class = a(this).attr("class");
if(h != current_class && $.inArray(current_class, arr) < 0){
a(this).remove()
}
});
if (1 === a("option", e).size() && "" === a(e).val()) {
a(e).prop("disabled", !0)
} else {
a(e).prop("disabled", !1)
}
d && a(e).trigger("change")
}
var e = this, f = a(e).clone();
a(c).each(function () {
a(this).bind("change", function () {
d()
}), a("option:selected", this).length || a("option", this).first().attr("selected", "selected"), d()
})
})
}, a.fn.chainedTo = a.fn.chained, a.fn.chained.defaults = {}
}(window.jQuery || window.Zepto, window, document);
Измените свой код chained.js на этот
Образец скрипки