我有一個被過濾一個下拉列表(例如..(toggleOptionVisibility把一個跨度,在期權,如果屬實,跨度爲可見)):的jQuery選擇的選項
case 'Actimel drank naturel':
$(eenheid + ' option[value="101"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="102"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="103"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="116"]').toggleOptionVisibility(true);
break;
case 'Roosvicee multivit (siroop)':
$(eenheid + ' option[value="101"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="102"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="103"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="104"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="111"]').toggleOptionVisibility(true);
$(eenheid + ' option[value="116"]').toggleOptionVisibility(true);
break;
過濾工作,只是顯示一個例子至於我怎麼做。
現在的問題是,無論我在提交表單時選擇什麼,selected =「selected」都是用戶選擇的任何東西(它在IE中工作),但下拉列表本身顯示Firefox中的第二個值和Chrome中的最後一個值。
即使在Firefox和Chrome中,selected =「selected」仍然是用戶輸入的內容。
這裏是我的問題,你們有沒有知道爲什麼會發生這種情況,爲什麼它在IE中運行而不是Chrome/Firefox?
因爲每個人都喜歡代碼,我會多發一點。
$(eenheid + ' option').toggleOptionVisibility(false);
要在過濾之前隱藏所有選項,以確保只顯示過濾的選項。
正如我所說,篩選工作正常,沒有任何問題存在,但.prop( '禁用',真正的);在IE/safari中不起作用。這就是爲什麼我在IE中使用toggleOptionVisibility – Conceptual
做到這一點,被禁用的值只是顯示禁用,並沒有消失。 – Conceptual
我剛更新了我的帖子。新的jsfiddle鏈接在Chrome,IE和Safari中運行。禁用的值在IE/Safari中仍然可見,它們不支持'select option'上的'display:none'。如果你不想看到它們,你應該'.remove()'並且如果需要的話保存在一個變量中。 –