Javascript jQuery不返回实际的选择选项属性
我有一个jqueryui选择小部件 在返回select的html的Ajax调用之后,小部件可以完全重新初始化,afterwords小部件应用于该调用 问题是在小部件初始化之后,实际选择的选择选项没有被选择 调试时,我从Chrome DevTools控制台获得以下输出: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
> 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')
)交织在一起导致了这种行为