我正在尝试获取选择的值。
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');
}
有什么建议吗?我需要使用一些包含的方法来做很多事情,这只是一个例子。
答案 0 :(得分:1)
检查字符串是否包含其他字符串的标准方法是indexOf
:
if ( selectValue.indexOf( 'Search' ) > !== -1 ) {
ECMAScript 6 .contains()
方法使这个检查更简单(也更易读),但到目前为止它只在Firefox中实现: