[英]Jquery select box problem with Internet Explorer
好的,這可能是一個非常奇怪的問題。 我正在編寫一個Web應用程序,並且想要更改某個選擇框的值:
<select name="type" class="type">
<option value="word">word</option>
<option value="digit">digit</option>
<option value="letter">letter</option>
<option value="single">single character</option>
<option value="space">space</option>
</select>
在我的代碼中,我有:
switch ( target ) {
case "d":
$("select").val('digit');
break;
case "w":
$("select").val('word');
break;
case "s":
$("select").val('space');
break;
}
這是問題所在。 此代碼可在所有瀏覽器中正常工作……除了IE。 除了$(“ select”)。val(“ digit”)部分以外,Internet Explorer(如果您有好奇,請使用8)正確處理它們。 只是出於某種原因不會更改值。 javascript解析器可以在所有開關中正確導航到該案例,但是它拒絕更改該案例的選擇框的值。 有人有想法么?
你有沒有嘗試過
$('select').find('option[value=digit]').prop('selected', true); // and etc.
代替?
編輯得好我可能會自己嘗試,因為那只是我,但是看看jQuery源,無論如何它幾乎都能為您做到。 (也就是說,jQuery不僅嘗試在<select>
標記上設置“ value”屬性,我認為該屬性在FF中有效,但不適用於IE。)
編輯得更好我設置了一個測試頁,它對FF和IE8都適用。 您可以在這里查看我的測試頁: http : //gutfullofbeer.net/select.html
編輯 — 2012年7月12日—現在首選.prop()
(jQuery 1.6),所以我更新了示例。
您可以嘗試在要顯示的選項中添加單詞“ selected”,而不用更改select標簽的值。 您可能想要該選項的HTML外觀...
<option selected value="word">word</option>
單詞在標簽中的位置無關緊要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.