[英]Jquery Chosen is updating cascading selects on step behind native select boxes
我正在使用通過數據庫填充的4個選擇框中選擇的jquery。
選擇框ID為:#Year_395,#Make_395,#Model_395,#Trim_395。
我使用以下腳本“級聯”它們,以便第二個選擇框的選項取決於第一個選擇的選項,第三個的選項取決於第二個選擇等。
function cascadeSelect(parent, child){
var childOptions = child.find('option:not(.static)');
child.data('options',childOptions);
parent.change(function(){
var parentValue = (this.value).replace(" ", "_");
childOptions.remove();
child
.append(child.data('options').filter('.sub_' + parentValue))
.change();
})
childOptions.not('.static, .sub_' + parent.val()).remove();
}
本機選擇框正確級聯。 問題在於,當我實現jQuery Chosen時,新的選擇框會更新,但是在本機框后面一步。 現在我使用下面的代碼來更新jQuery Chosen的替換選擇框顯示的選項。 這應該會導致jQuery Chosen在選擇#Model_395的選項后立即更新#Trim_395。
$("#Model_395").chosen().change(function(){
$("#Trim_395").trigger('chosen:updated');
});
以下是構建站點的鏈接 :
您將看到,如果選擇年份,品牌和型號,則不會有任何修剪選項,就像您尚未選擇模型一樣。 如果您隨后選擇其他型號,將顯示您選擇的第一個型號的選項。 選擇第三個模型將顯示第二個模型的修剪選項等。
我自己想出來了。 在隱藏的選擇框有時間更新之前,jQuery Chosen正在更新:
$("#Model_395").change(function(){
wto = setTimeout(function() {
$("#Trim_395").trigger('chosen:updated');
}, 500);
});
解決了這個問題。 感謝任何看過的人:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.