在一组下拉菜单中,如果所选值包含文本Misc
,我将运行特定的代码。我正在使用下面的代码检查dropdown的值,但不起作用。
$(document).ready(function(){
$("[id^='select_debit']").on('change', function() {
if ( this.value ~= 'Misc')
{
run code A
} else {
run code B
}
});
});
有什么建议可以做到这一点?
编辑:
更具体地说,下拉列表没有称为Misc的特定值,但带有一些附加文本 例如:旅行杂项,网络杂项。
所以我正在寻找其中带有单词“ Misc”的所有选项
答案 0 :(得分:1)
您可以使用
var n = (this.value).includes("Misc");
检查字符串是否包含在给定的字符串中
您可以从here中获取有关包含的更多详细信息。
$(document).ready(function() {
$("[id^='select_debit']").on('change', function() {
if (this.value.includes('Misc'))
{
console.log('A');
} else {
console.log('B')
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select_debit">
<option>Select option</option>
<option value="Travel Misc">Travel Misc</option>
<option value="Web Misc">Web Misc</option>
<option value="Other">Other</option>
</select>
答案 1 :(得分:0)
$(document).ready(function()
{
$("[id^='select_debit']").on('change', function()
{
if ($(this).val() == 'Misc')
{
run code A
} else {
run code B
}
});
});
答案 2 :(得分:0)
$('option:selected' , this)
this.value
indexOf()
检查字符串是否在值中
$(document).ready(function(){
$("[id^='select_debit']").on('change', function() {
if ($('option:selected' , this).text().indexOf('Misc') > -1){
console.log('Misc is Found');
} else {
console.log('Not Found');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select_debit_12">
<option value="1">No</option>
<option value="2">Here Misc</option>
</select>