两者都不包含:包含或.contains工作

时间:2013-02-05 13:49:13

标签: jquery contains

我正在尝试获取选择的值。

select有一个由CMS生成的长计算ID,因此我需要使用* =来获取具有包含'mySelect'的ID的select。

如果此选择的值是单词“选择”(这意味着您没有选择选项),则执行某些操作。我还需要在其他地方重复这个,如果在其他选择中选择其他选项,这只是一个例子。 这是我的代码......

var selectValue = $('select[id*="mySelect"]').val();  
console.log(selectValue)  
if ((selectValue + ':contains("Select")')) 
    {
    $alert('select chosen');
}
else {
    $alert('other chosen');
}

这一切都包含在一个函数中,该函数在文档就绪时调用,也适用于更改select。

当我在选择中选择一个选项时,控制台日志会将selectValue显示为“1”,但仅显示选择的选择警报。

我也尝试过这种方式,但它只能在Firefox中运行。在所有其他浏览器中,我收到控制台错误“对象不支持属性或方法”包含'。

var selectValue = $('select[id*="mySelect"]').val();  
if (selectValue.contains('Select')) 
    {
    $alert('select chosen');
}
else {
    $alert('other chosen');
}

有什么建议吗?我需要使用一些包含的方法来做很多事情,这只是一个例子。

1 个答案:

答案 0 :(得分:1)

检查字符串是否包含其他字符串的标准方法是indexOf

if ( selectValue.indexOf( 'Search' ) > !== -1 ) {

ECMAScript 6 .contains()方法使这个检查更简单(也更易读),但到目前为止它只在Firefox中实现: