我有一个非常简单的选择框:
<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移动应用程序中无法直观更新。我是否需要以某种方式刷新选择?
答案 0 :(得分:0)
解决。添加了$(“#collectorMainsInspEmissSelect”)。selectmenu('refresh',true);最后