Javascript jQuery不返回实际的选择选项属性

Javascript jQuery不返回实际的选择选项属性,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个jqueryui选择小部件 在返回select的html的Ajax调用之后,小部件可以完全重新初始化,afterwords小部件应用于该调用 问题是在小部件初始化之后,实际选择的选择选项没有被选择 调试时,我从Chrome DevTools控制台获得以下输出: > thisWidget.element [<select name=​"main.model" id=​"ui-id-297" style=​"display:​ none;​">​<option sel

我有一个jqueryui选择小部件

在返回select的html的Ajax调用之后,小部件可以完全重新初始化,afterwords小部件应用于该调用

问题是在小部件初始化之后,实际选择的选择选项没有被选择

调试时,我从Chrome DevTools控制台获得以下输出:

> thisWidget.element
[<select name=​"main.model" id=​"ui-id-297" style=​"display:​ none;​">​<option selected=​"selected" value>​ Choose ​</option>​<option value=​"express">​ Express ​</option>​</select>​]

> thisWidget.element.find('option')
[<option selected=​"selected" value>​ Choose ​</option>​, <option value=​"express">​ Express ​</option>​]

> thisWidget.element.find('option:selected')
[]

> thisWidget.element.find("option[value='']")
[<option selected=​"selected" value>​ Choose ​</option>​]

> thisWidget.element.find("option[value='']:selected")
[]
>thisWidget.element
[​​ 选择​​​ 快车​​​]
>thisWidget.element.find('option')
[​ 选择​​, ​ 快车​​]
>thisWidget.element.find('option:selected')
[]
>thisWidget.element.find(“选项[值=“”]”)
[​ 选择​​]
>thisWidget.element.find(“选项[值=”]:选中”)
[]
在我看来,初始化小部件的html是正确的,但是带空值的选项没有被选中,尽管它应该被选中

为什么我会有这种行为?

我找到了原因

在小部件被销毁和重新初始化之前,我正在设置select值

所以发生的事情是这样的:

// getting re-rendered html select through ajax call
mySelect.val('foo') // setting the value of select which in fact may not have option with such value
// ...then destroy event occurs
// ... and then widget is reinitiazlied
因此,可能是与未受破坏的小部件和值设置(
mySelect.val('foo')
)交织在一起导致了这种行为