以编程方式更改jQuery选择选项-不';行不通

以编程方式更改jQuery选择选项-不';行不通,jquery,jquery-mobile,drop-down-menu,Jquery,Jquery Mobile,Drop Down Menu,我试图记住jquery select中所选选项的描述。不幸的是,我无法以编程方式选择想要的选项 以下是一些详细信息:HTML: <div style="width: 140px"> <label for="select-choice-a" class="select">Lagerort: </label> <select id="sel_stockIDs"> <option disabled="disabled">Lagerort<

我试图记住jquery select中所选选项的描述。不幸的是,我无法以编程方式选择想要的选项

以下是一些详细信息:HTML:

<div style="width: 140px">
<label for="select-choice-a" class="select">Lagerort: </label>
<select id="sel_stockIDs">
<option disabled="disabled">Lagerort</option>
</select>
</div>
“外观”:

在用户选择了一个有效的“Lagerort”选项(stockId)后,下一个HTML站点将打开。用户的决定(选项文本和选项值)保存在localStorage中。返回此页面时,所做的决定仍应为选定选项。例如,用户选择Lagerort“0001”,更改站点并返回-所选选项仍应为“0001”。因此,我再次加载股票(这工作正常)

在JSFIDLE中插入其中一些方法是可行的,但在我的应用程序中,所显示的代码都没有帮助。我使用的JS版本是jQuery-mobile-1.3.0和jQuery-1.9.1.min。我将非常感谢任何帮助或一些提示

$("#sel_stockIDs").val("1");
这是正确的方法

此外,您可能希望将
属性值括在引号中:

loadedStocks[j] = '<option value="' + (j+1) + '">' +  paramsParsed[j] + '</option>';
loadedStocks[j]=''+参数化[j]+'';

尝试只命中DOM一次。例如,创建一个包含所有选项的字符串,然后将其追加。还要注意引用的值(HTML规范没有严格要求,但我建议使用)


或者,您可以在创建选项期间设置所选属性(选中
如果(j==0)
,例如,添加所选属性文本。

您的回答帮助我解决了问题…..因此,插入

$("#sel_stockIDs").val('1');
确实选择了想要的选项……(在本例中为第一个;请参见图片:红色边框),但不幸的是,选择框没有注意到这一变化(请参见图片:蓝色边框)。因此,选择的文本仍然是“Lagerort”(某种占位符),而不是想要的(也已经选择)值“0001”

解决方案只是通过以下方式强制更改select:

$('#sel_stockIDs').trigger('change');
在此之后,slect的值也为“0001”。 谢谢你的帮助和祝福

$("#sel_stockIDs").val("1");
loadedStocks[j] = '<option value="' + (j+1) + '">' +  paramsParsed[j] + '</option>';
var myoptions = '';
var j = 0;
for (j = 0; j < paramsParsed.length; j++) {
    myoptions += '<option value="' + (j + 1) + '">' + paramsParsed[j] + '</option>';
}
$(myoptions).appendTo("#sel_stockIDs");
$("#sel_stockIDs").val('1');
$("#sel_stockIDs").val('1');
$('#sel_stockIDs').trigger('change');