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