下面的代码与select元素中的val匹配,并在代码中选择选项:
$("#modelListSelect option[val='" + modelMatch + "']").attr("selected", "true");
我的选择列表值如下所示:
["Washington 2015", "New York 1988", "Detroit 2000", "San Francisco 1999"];
列表中的这些年是动态的,它们可以在不同的时间有所不同,例如:
["Washington 2011", "New York 1998", "Detroit 1975", "San Francisco 2016"];
我想做的就是匹配" val"以上是" modelMatch"例如" Detroit"。所以它会找到" Detroit 2000"或"底特律1975"
我该怎么做?
答案 0 :(得分:2)
您可以使用val^='" + modelMatch + "']"
语法搜索以modelMatch
字符串开头的属性。您还应该将标准value
属性与选项元素一起使用,而不是val
。
modelMatch = "Detroit";
$("#modelListSelect option[value^='" + modelMatch + "']").attr('selected', true);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="modelListSelect">
<option value="Washington 2015">Washington 2015</option>
<option value="New York 1988">New York 1988</option>
<option value="Detroit 2000">Detroit 2000</option>
<option value="San Francisco 1999">San Francisco 1999</option>
</select>
&#13;
答案 1 :(得分:1)
使用jQuery Attribute Starts With Selector
HTML:
<select id="foo">
<option value="Washington 2017">Washington 2017</option>
<option value="Detroit 2016">Detroit 2016</option>
<option value="San Francisco 2015">San Francisco 2015</option>
</select>
和jQuery代码:
$("#foo option[value^='Detroit']").attr("selected", "selected");
我创建了一个fiddle示例。
我希望它有所帮助。
答案 2 :(得分:1)
这样..
您需要拆分modelMatch值并获取匹配的子字符串。
https://api.jquery.com/attribute-starts-with-selector/
var modelMatch = "Detroit 2001";
var res = modelMatch.split(" ")[0];
$("#modelListSelect option[value^='" + res + "']").attr("selected", "true");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="modelListSelect">
<option value="Washington 2015">Washington 2015</option>
<option value="New York 1988">New York 1988</option>
<option value="Detroit 2000">Detroit 2000</option>
</select>
&#13;
答案 3 :(得分:0)
这可能对你有帮助....
<select id="ddlListSelect">
<option value="Washington 2015">Washington 2015</option>
<option value="New York 1988">New York 1988</option>
<option value="Detroit 2000">Detroit 2000</option>
</select>
<script type="text/javascript">
$(document).ready(function () {
var ddlText = "Detroit 2001";
var str = ddlText.substr(0, ddlText.indexOf(' '));;
$("#ddlListSelect option[value^='" + str + "']").attr("selected", "true");
});
</script>