2
這是一個奇怪的問題,它適用於IE,但它不適用於Firefox。在jQuery中選擇一個選項與jQuery在火狐中不起作用
我有一個SELECT
控制,當獲得焦點時,調用AJAX
呼叫檢索HTML
與OPTION
s。
onfocus事件處理程序包含此代碼:
var selectedValue = $(":input[name='" + fieldName + "']").val();
var dataRetrieved = function(data)
{
$(":input[name='" + fieldName + "']").html(data);
$(":input[name='" + fieldName + "']").val(selectedValue);
alert("data: " + data);
alert("former value: " + selectedValue);
};
$.post(url, data, dataRetrieved);
第一個警報顯示:
data: <option value=""/>
<option value="1" >a1</option>
<option value="2" >a2</option>
<option value="3" >a3</option>
而第二個:
former value: 3
所以它應該工作,實際上它在Internet Explorer中(什麼讓我覺得我對HTML做錯了什麼)
任何想法可能是什麼問題?
謝謝。
http://api.jquery.com/input-selector/這就是我在文檔中看到的:P我已經嘗試過了,它仍然是相同的。無論如何,它正在使用IE瀏覽器。 – vtortola 2010-11-01 14:47:14
「:input」實際上選擇了表單中的所有控件(即textareas,選擇,按鈕),而不僅僅是輸入,所以在使用時要小心。什麼具體不工作?另外,ajax調用的代碼是什麼樣的? – ryanulit 2010-11-01 18:28:06
很高興知道:) ajax調用中的代碼始終返回(此時)HTML代碼。基本上,在開始時,服務器僅向SELECT提供一個OPTION(數據庫中選定的一個),但是如果您關注控件,則控件將充滿所有選項。我試圖設置的是存儲當前選定的值,上傳控制選項,然後重新選擇前一個選項,這是什麼在Firefox中不起作用。我意識到的其他事情是,這個問題只發生,如果我讓下拉打開,而它正在獲得新的HTML :( – vtortola 2010-11-02 13:21:44