-1

選択の値を取得しようとしています。

選択には、CMS によって生成された長い計算された ID があるため、*= を使用して、「mySelect」を含む ID を持つ選択を取得する必要があります。

この選択の値が「選択」という単語 (オプションを選択していないことを意味します) の場合は、何かを行います。他の選択で他のオプションが選択されている場合は、これを他の場所でも繰り返す必要があります。これはほんの一例です。これは私のコードです...

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

これはすべて、ドキュメントの準備ができたとき、および選択を変更したときに呼び出される関数にラップされています。

選択でオプションを選択すると、コンソール ログに selectValue がたとえば「1」として表示されますが、選択された選択アラートのみが表示されます。

私もこの方法で試してみましたが、これは動作しますが、Firefox でのみです。他のすべてのブラウザでは、「オブジェクトはプロパティまたはメソッドの「含む」をサポートしていません」というコンソール エラーが表示されます。

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

何か提案はありますか?これはほんの一例です。

4

1 に答える 1

1

文字列に別の文字列が含まれているかどうかを確認する標準的な方法は次のindexOfとおりです。

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

ECMAScript 6.contains()メソッドを使用すると、このチェックがより簡単に(そしてより読みやすく)なりますが、これまでのところ、Firefoxでのみ実装されています。

于 2013-02-05T14:09:57.070 に答える