2011-08-08 7 views
0

私は$( 'selectオプション:選択')かどうかを確認しようとしています。特定の単語が含まれている場合は、特定のページにリダイレクトします。jQueryを使用して:contains()オプションの値を検索する:選択しました

<select name="people_view" id="people_view"> 
    <optgroup label="People Categories"> 
     <option value="category_1">Members</option> 
     <option value="category_2">Connections</option>  
    </optgroup> 
    <optgroup label="Groups"> 
     <option value="group_1">Group 1</option> 
     <option value="group_2">Group 2</option> 
     <option value="group_3">Group 3</option> 
    </optgroup> 
    <optgroup label="Custom Views"> 
     <option value="view_1">Test People View</option> 
    </optgroup> 
</select> 

ここにあります私のJS:

はここに私のHTMLです

if ($('#people_view option:selected:contains("category_")')) { 

     categoy_id = $(this).val().replace('category_', ''); 
     window.location.href = admin_url + 'people/?category=' + categoy_id; 

    } else if ($('#people_view option:selected:contains("group_")')) { 

     group_id = $(this).val().replace('group_', ''); 
     window.location.href = admin_url + 'people/?group=' + group_id; 

    } else if ($('#people_view option:selected:contains("view_")')) { 

     view_id = $(this).val().replace('view_', ''); 
     window.location.href = admin_url + 'people/?view=' + view_id; 

    } 

一度に2つのセレクタを使用することはできません(例えば:選択:含まれています())。それとも、何か間違っているだけですか?

ありがとうございました!

答えて

2
$('#people_view').change(function() { 
    var val = $(':selected', this).val(); 
    var arr = val.split('_'); 
    console.log(admin_url + 'people/?' + arr[0] + '=' + arr[1]); // this for your visual of the url. delete this line 
    //window.location.href = admin_url + 'people/?'+ arr[0] +'=' + arr[1]; // uncomment this line 
}); 

はまた、あなたは次のようになり、一緒だから、すべての

$('option:selected').filter(':contains(blah), :contains(blah2)') 

ような何かを行うことができます

1

変更この:

if ($('#people_view option:selected:contains("category_")')) { 

へ:

if ($('#people_view option:selected:contains("category_")').length) { 

のように。

if ($('#people_view option:selected').filter(':contains(category_), :contains(group_), :contains(view_)').length) 
//... 
関連する問題