我正在尝试配置页面,具体取决于用户选择之前的下拉值。
问题在于,如果我尝试在$(document).ready
或$(window).load
中执行此操作,则下拉列表尚未“填充”用户之前选择的已保存选项。
换句话说,使用:
$("#mySelect").val()
$(document).ready
中的会导致null
。
$(window).load
中的会导致null
。
使用:
$("#mySelect option:selected").text()
$(document).ready
中的会导致""
。
$(window).load
中的会导致""
。
更多信息:
使用通用处理程序填充下拉列表,该处理程序从数据库中的查找表中检索值,并使用jquery append方法动态构建html。
然后,另一个通用处理程序检索用户先前选择的已保存数据。 用户数据使用挖空视图模型绑定到下拉列表。
所有这些都发生在$(document).ready
。
在所有这些发生之后,我想根据用户先前为特定下拉列表选择的选项配置页面。通过配置,我的意思是需要禁用某些控件。
所有这一切我都能做到。当用户在下拉列表中选择不同的选项时,页面也会正确配置,问题是在检索到所有数据并且敲除视图模型绑定到控件后,我无法确定在下拉列表中选择的选项。换句话说,当用户重新访问页面时,我无法根据保存的下拉选项配置页面,因为我无法检索$(document).ready
下拉列表的已保存选项。
如果在这种情况下使用jquery val()方法是错误的方法,请告知我应该探索哪些备选方案。
非常感谢在这方面的任何帮助或建议。
答案 0 :(得分:1)
您应该在您提到的generic handler
, 之后填充下拉列表,而不是在文档加载后设置。