簡體   English   中英

Internet Explorer的jQuery選擇框問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM