2013-02-05 114 views
-1

我想获得选择的值。都不:包含或包含工作

Select有一个由CMS生成的长计算ID,所以我需要使用* =来获取包含“mySelect”的ID。

如果这个select的值是'Select'这个词(这意味着你没有选择一个选项),那么做一些事情。如果在其他选择中选择了其他选项,我还需要在其他地方重复此操作,这只是一个示例。 这是我的代码...

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

这是所有包裹在一个叫上文件准备就绪,也改变了选择时的功能。

当我在select中选择一个选项时,例如控制台日志显示selectValue为'1',但仅显示select selected alert。

我也试过这种方式,它只能在Firefox中工作。在所有其他浏览器中,出现控制台错误“对象不支持属性或方法”包含“。

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

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

+3

'$ alert'?那是什么? '':-) –

回答

1

的标准方法来检查,如果字符串包含另一个字符串是indexOf

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

ECMAScript的6 .contains()方法使得这种检查简单(更易读),但到目前为止,它在Firefox只执行: