从下拉列表中选择选项,其中值包含字符串

时间:2017-07-25 06:18:25

标签: javascript jquery drop-down-menu

我有这样的下拉列表

<select id="acctDesc" name="acctDesc">
<option value="1~PB1001~10001~0~Sales Glassware">1</option>
<option value="2~PB1002~10002~0~American">2</option>
<option value="3~PB1003~10003~0~Sales Appliance">3</option>
<option value="4~PB1004~10004~0~Sales Spare Parts">4</option>
<option value="5~PB1005~10005~0~Sales ">5</option>
</select>

另外

<script>
var test="Sales Glassware";
</script>

现在我必须从下拉列表中选择该选项,其中选项的值包含上述变量值。 直到现在我已经使用了jquery过滤器,但无济于事。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

使用属性选择器,$将搜索以文字结尾的选项

$('option[value$='+test+']');

答案 1 :(得分:0)

使用.split()方法拆分字符串中的特定字符,然后返回数组并使用.pop()方法获取数组中的最后一个值。

$('#acctDesc').on('change', function() {
       var val = $(this).val();
       val = val.split('~').pop();
       alert(val)
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="acctDesc" name="acctDesc">
<option value="1~PB1001~10001~0~Sales Glassware">1</option>
<option value="2~PB1002~10002~0~American">2</option>
<option value="3~PB1003~10003~0~Sales Appliance">3</option>
<option value="4~PB1004~10004~0~Sales Spare Parts">4</option>
<option value="5~PB1005~10005~0~Sales ">5</option>
</select>