2013-02-05 153 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只執行: