例如,是否有一个jQuery选择器可以将:contains替换为更明确的indexOf?我正在尝试匹配可变VALUE_XYZ
问题是代码在到达精确值之前会找到相似的字符串(因为它包含字符串(。
var value= $("select[name=BU_CT_NUM_DOC]").find('option:contains($VALUE_XYZ)').val();
整个代码如下所示,由 xslt 封装:
<xsl:when test="/Root/Form/EDIT_BU_TYPE = 'd' or /Root/Form/EDIT_BU_NOTIFICATION_TYPE='d'"><![CDATA[
var value = $("select[name=BU_CT_NUM_DOC]").find('option:contains($VALUE_XYZ)').val();
$("#BU_CT_NUM_DOC").val(value).attr('selected',true).trigger("chosen:updated");
]]></xsl:when>
谢谢!
这不是选择器的索引,而是使用如何通过文本选择选项中的过滤技术? 您可以匹配字符串的整个文本,也可以修改筛选器函数以使用 indexOf。
var $VALUE_XYZ = "AB";
var value = $("select[name=BU_CT_NUM_DOC]").find('option').filter( function() { return $(this).html() == $VALUE_XYZ } ).first().val();
console.log( value );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="BU_CT_NUM_DOC">
<option value="abc">ABC</option>
<option value="ab">AB</option>
</select>