【问题标题】:Jquery Mobile Select not updating to show value after options added添加选项后,Jquery Mobile Select 未更新以显示值
【发布时间】:2015-04-23 15:58:36
【问题描述】:

我有一个非常简单的选择框:

<select  id="collectorMainsInspEmissSelect">
    <option></option>
</select>

它有一个默认选项,不显示任何内容,也没有任何价值。

每当单击按钮时: &lt;a data-role="button" style="padding-left:0px; padding-right:0px; margin-top:8px;" id="collectorMainsInspAddEmissButton" onclick="main.CollectorMains.addEmiss()"&gt;Add Emiss&lt;/a&gt;

它运行这个函数:

function addEmiss() {

    var last = $("#collectorMainsInspEmissSelect option:last-child").val();
    if ($.isNumeric(last)) {
        $("#collectorMainsInspEmissSelect option:last").after("<option value=" + (parseInt(last) + 1) + ">" + (parseInt(last) + 1) + "</option>");
        $("#collectorMainsInspEmissSelect option:last").prop('selected', true);
    }
    else {
        $("#collectorMainsInspEmissSelect option:last").after("<option value=1>1</option>");
        $("#collectorMainsInspEmissSelect option:last").prop('selected', true);
    }
    console.log($("#collectorMainsInspEmissSelect").val());
}

它的作用是检查该选择中的最后一个选项。如果它是空白的,它会创建一个值和文本为 1 的新选项。否则,它会添加一个新选项,该选项是前一个选项递增的。

那部分工作得很好。添加了新选项。

接下来,我将选择的值设置为最后一个选项。我希望它能够直观地更改选择框以显示最后一个选项,并且我希望该值也是该选项。

在后台,值正在发生变化。然而,在视觉上,它不是。

我有console.log 表明每次单击按钮时值都会增加。 这是我想要它做的一个 jsfiddle:https://jsfiddle.net/w5r93t3c/1/

您会注意到它在 jsfiddle 中运行良好。这也是我的问题。我不明白为什么我的 Jquery 移动应用程序中的选择没有在视觉上更新。我需要以某种方式刷新选择吗?

【问题讨论】:

  • 已解决。在末尾添加$("#collectorMainsInspEmissSelect").selectmenu('refresh', true);
  • 您应该对您的问题发布正式答案并接受它,而不仅仅是评论。

标签: jquery jquery-mobile


【解决方案1】:

解决了。添加了 $("#collectorMainsInspEmissSelect").selectmenu('refresh', true);最后

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    相关资源
    最近更新 更多