今天在工作中对一个老的jquery项目进行维护,其中涉及到一个根据select中的option的text值来获取对应option的val值的问题,个人觉得还是有些收获,故做总结。
<select id="slt">
<option value="1">苹果</option>
<option value="2">橘子</option>
<option value="3">香蕉</option>
<option value="4">梨子</option>
<select>
情景如下,给出的苹果,橘子,香蕉,梨子中的任意一值,得到其对应的value。(兄弟不要告诉我可以一一映射)
在网上进行了百度,得到的方法有两种,一种是通过js遍历select中的option,一种是使用jquery的选择器,具体方法如下
var slt = "梨子";
var sltValue = $('#slt option[text="'+slt+'"]').val();
但是这种方法,本人亲测无效。之后查阅资料,发现了另外一种方法,而这个方法就是使用了内容过滤选择器contains
。
下面给出具体方法
var slt = "梨子";
var sltValue = $('#slt option:contains('+slt+')').val();
就是这么简单!!