2017-07-25 30 views
0

我有这样从下拉菜单中选择选项,其中值包含字符串

<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过滤器,但无济于事。 任何帮助表示赞赏。

+1

'$( '选项[价值$ = “ '+测试+'”]')。支撑( '选择',真)' – Satpal

+0

您可以从明显的联系相结合的答案与含有选择器:https://api.jquery.com/attribute-contains-word-selector/ – Rajesh

回答

0

使用属性选择,$将搜索与文本结束

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

我们应该真的回答一个愚蠢的? – Rajesh

+0

@Rajesh在评论中的答案不完全是这个问题的答案 – madalinivascu

+0

我知道它,因此我已经评论链接*包含选择器*。点是结合它会解决问题。所以我们应该真的回答所有的组合。此外,必须有一个适当的愚蠢。我将搜索并添加它的链接。 – Rajesh

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>

+1

你可以直接使用'value〜= searchValue'。无需分割和搜索 – Rajesh