2012-03-20 19 views
2

jqueryのmutiselectでonblurメソッドを呼び出すにはどうすればよいですか?私の複数選択で 同様に、ユーザは、赤と緑を選択した場合、私は値を下回った後、私はclick機能を試してみましたが、それは一度に1つのオプション値を送信することができますので、見ている私はデシベルJquery Multiselect onblurメソッド

<select multiple="multiple" id="myID" name="myName"> 
    <option value="blue">blue</option> 
    <option value="red">red</option> 
    <option value="green">green</option>     
</select> 

からデータをフェッチする必要があることに基づいていますonblur jquery multiselectの関数のように、またはmultiselectからすべての値を選択した後にトリガーするイベントは、ユーザーがマルチセレクションの外側をクリックすると意味します。 advance.anyヘルプの

おかげでずっと

+0

'.change()'作品かもしれにある細かい –

+0

@Gautamは - これが解決されるか、私は見てみる必要がありますか? –

答えて

0

をいただければ幸い私はあなたが$('#myID').change()

+0

しかし、これはjquerymultiselectで動作しません – Gautam

0

を探していると信じて、この試してみてください。.blur()方法

var selectedvals = []; 
$('#myID').blur(function() { 
    $('#myID > option:selected').each(function(i, selected) { 
     selectedvals.push($(selected).val()); 
    }); 
})​ 

を使用

$("#myID").change(function(){ 
    var selected = $("#myID option:selected").val(); 
    // Do your stuff 
}); 
0

selectedvalsアレイ共同あなたがのonblurイベントを追加するときに選択したオプションの値

Working example here

0

は、それが動作ntains。 ..だから

<select multiple="multiple" id="myID" name="myName" onblur="getVals(this)"> 
<option value="blue">blue</option> 
<option value="red">red</option> 
<option value="green">green</option>     

function getVals(el) { 
    var val = $(el).val(); 
    alert(val); 
} 

あなたは赤と緑のように選択した場合、それは、このようなカンマで区切られた両方の値を返しますように - 「赤、緑の」

あなただけだろうそれを解析し、処理のためにバックエンドスクリプトに送ります。ここで

$('#myID').on('blur', function(){ 
    var selected=[]; 

    $(this).find('option:selected').each(function(i,e){ 
     selected.push(e.value); 
    }); 
    alert('You selected: ' +selected.join(',')); 

});​ 

jQueryの1.7.1を使用して

1
+0

返信ありがとうございますが、これはJqueryMultiselectプラグインでは動作しません – Gautam

+0

OK。私はあなたが[this](http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/)を使っていると仮定します。そうであれば、以下のように 'blur'をシミュレートしてみてください... $( 'multiselect-demo + .ui-multiselect')。 (){alert( 'blur');});}) ' – mitch

+0

[こちら](http://jsfiddle.net/WGQ9R/38/) – mitch