【问题标题】:Select dynamically created option of html select drop down选择 html 选择下拉菜单的动态创建选项
【发布时间】:2015-07-24 16:16:48
【问题描述】:

我有一个 html 选择下拉列表,它通过对数据库进行 ajax 调用来填充它的选项。用户可以按下一个按钮,然后允许他们编辑选项的文本并将其保存回数据库。用户完成编辑后,我希望所选选项保持他们刚刚编辑的选项。这是我所拥有的

getSessions();
var opt = $("#ddlSessionList option[value='" + sessionId + ";" + group + "']");
opt.attr('selected', true);

数据保存后调用。 getSessions() 使用当前选项选项刷新选择下拉菜单。发生的事情是选择,而不是将其索引更改回我将其指向的选项,而是返回第 [0] 选项 - 这只是默认的“-- 选择会话名称 -”类型选项。

我认为我做错了什么,或者 jquery 存在问题,无法在实现后快速选择动态创建的选项。

【问题讨论】:

  • 试试这个 var opt = $("#ddlSessionList >option[value='" + sessionId + ";" + group + "']"); opt.attr('selected', true);

标签: javascript jquery html


【解决方案1】:

根据您的版本,您可能必须使用opt.prop('selected', true)

【讨论】:

  • 仍然进入第一个索引选项
【解决方案2】:

尝试将您的代码更改为:

getSessions();
$("#ddlSessionList").val(sessionId);

编辑:仅当您的 sessionId 变量在 ajax 调用结束时未重置时才有效。如果 sessionId 被重置,您应该获取它的值作为 ajax 调用响应的一部分并将其设置为变量,然后继续将该值设置为选择下拉菜单。

【讨论】:

    【解决方案3】:

    看来我没有提供足够的信息,否则问题可能已正确解决。如果我还提到这是在一个花哨的盒子里,那么所有的答案都会奏效。将此处的答案与我从上一个问题中收到的答案结合起来 Set fancybox to open on a different fancybox close,从选择值到选择文本,我到达了

    setTimeout(
      function () {
        $('#ddlSessionList option:contains('+sessionName()+')')
          .prop('selected', true);
      }, 200);
    

    【讨论】:

      猜你喜欢
      • 2015-03-28
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 2020-02-10
      • 1970-01-01
      相关资源
      最近更新 更多