不可選擇的選擇選項我要增強現有<select>
標籤與附加«查看更多... »行選擇時,顯示一些GUI控制。當用戶點擊«查看更多... »我需要的是:觸發選擇崩潰
- 當前選擇
<option>
被保留 - 其他行不能選擇
- 下拉關閉
我的第一次嘗試失敗#1和#2:
jQuery(function($){
$("select").each(function(){
var $more = $("<option>See more...</option>")
.on("click", function(){
alert("Put your fancy AJAX dialogue here");
})
.appendTo($(this));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p>Choose «See more...» for more options:</p>
<select>
<optgroup label="America">
<option value="ca">Canada</option>
<option value="us">United States</option>
</optgroup>
<optgroup label="Europe">
<option selected value="fr">France</option>
<option value="uk">United Kinddom</option>
</optgroup>
</select>
如果我添加一個禁用屬性«查看更多... »排那麼它失敗的不同取決於瀏覽器(Firefox保持下拉開放,Chrome瀏覽器不會處理的onclick處理器在所有):
jQuery(function($){
$("select").each(function(){
var $more = $("<option>See more...</option>")
.prop("disabled", true)
.on("click", function(){
alert("Put your fancy AJAX dialogue here");
})
.appendTo($(this));
});
});
[disabled] {
font-style: normal;
color: inherit;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p>Choose «See more...» for more options:</p>
<select>
<optgroup label="America">
<option value="ca">Canada</option>
<option value="us">United States</option>
</optgroup>
<optgroup label="Europe">
<option selected value="fr">France</option>
<option value="uk">United Kinddom</option>
</optgroup>
</select>
任何想法?
是什麼#3是什麼意思?你的意思是事件處理? – serkan
你到底想做什麼? –
@ serkandemirel0420不知道您是否嘗試了「運行代碼段」按鈕,但我剛剛意識到第二個代碼段似乎只適用於Firefox。在Firefox中,警報顯示,但下拉菜單保持打開狀態。在例如Chrome甚至無法點擊。 –