我有一个html选择下拉列表,可以通过对数据库进行ajax调用来填充它。用户可以按下按钮,然后允许他们编辑选项的文本并将其保存回数据库。用户完成编辑后,我希望所选的选项保持刚刚编辑的选项。这就是我所拥有的
getSessions();
var opt = $("#ddlSessionList option[value='" + sessionId + ";" + group + "']");
opt.attr('selected', true);
保存数据后调用此方法。 getSessions()使用当前选项选项刷新选择下拉列表。发生了什么是选择,而不是将它的索引更改回我指示的选项,返回第[0]选项 - 这只是一个默认的“ - 选择一个会话名称 - ”类型选项。
我认为我做错了,或者jquery在执行后无法快速选择动态创建的选项存在问题。
答案 0 :(得分:2)
根据您的版本,您可能必须使用opt.prop('selected', true)
;
答案 1 :(得分:1)
尝试将代码更改为:
getSessions();
$("#ddlSessionList").val(sessionId);
编辑:仅当您的sessionId变量在ajax调用结束时未重置时,此方法才有效。如果sessionId正在重置,您应该将其值作为ajax调用响应的一部分获取并将其设置为变量,然后继续将该值设置为选择下拉列表。
答案 2 :(得分:0)
似乎我没有提供足够的信息,否则问题可能已经正确解决。所有的答案都会奏效,如果我还提到这是在一个fancybox里面。将这里的答案与我从前一个问题中收到的答案结合起来 Set fancybox to open on a different fancybox close,并且从选择值到选择文本,我到达
\bin\Production\