Jquery Mobile选择不更新以在添加选项后显示值

时间:2015-04-23 15:58:37

标签: jquery jquery-mobile

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

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

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

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

它运行此功能:

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且文本为1的新选项。否则,它会添加一个新选项,该选项将增加前一个选项。

那部分工作正常。添加了新选项。

接下来,我将select的值设置为最后一个选项。我希望它在视觉上更改选择框以显示最后一个选项,我希望该值也是该选项。

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

我已经在那里console.log显示每次点击按钮时值都会增加。 这是我想要它做的事情:https://jsfiddle.net/w5r93t3c/1/

你会注意到它在jsfiddle中正常工作。这也是我的问题。我不明白为什么选择在我的Jquery移动应用程序中无法直观更新。我是否需要以某种方式刷新选择?

1 个答案:

答案 0 :(得分:0)

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