5

我们在美国和加拿大开展业务,因此在注册表中,我有一个选择,其中包含将美国各州与加拿大各省区分开来的 optgroup。我使用这两个字符代码并将它们存储在数据库中。当我想编辑客户信息时,我想要与注册表相同的选项;但是,我似乎无法通过值找到州或省,然后将其标记为选中。

下面是一个选择示例:

<select id="company-state">
     <option value="">Select One</option>
     <optgroup label="United States">
          <option value="AK">Alaska</option>
          <option value="AL">Alabama</option>
          ...
          <option value="WV">West Virginia</option>
          <option value="WY">Wyoming</option>
     </optgroup>
     <optgroup label="Canada">
          <option value="AB">Alberta</option>
          <option value="BC">British Columbia</option>
          ...
          <option value="SK">Saskatchewan</option>
          <option value="YT">Yukon Territory</option>
     </optgroup>
</select>

我尝试了许多解决方案,例如尝试按值或按序数找到选项,但似乎没有任何效果。

4

2 回答 2

6

简单的 jQuery 答案:

var value = "foo";
$('#company-state option[value="' + value +'"]');

现场演示

要“将其标记为选中”,您可以添加到选择器:

$('#company-state option[value="' + value +'"]').prop('selected', true);
于 2012-11-15T16:53:07.780 回答
0

只需使用 .val 运算符设置下拉列表的值,您就可以开始了。请检查小提琴。

var value = "SK";
$("#company-state").val(value);
alert($('#company-state').val());

https://jsfiddle.net/2t48cqho/

于 2015-11-21T08:14:55.937 回答