2017-06-14 13 views
0

長い時間を検索した後も、私の質問に対する解決策はまだ見つかりませんでした。ラジオボタンからselect2に値を取得する

<label class='radio radio-inline'> 
      <input type='radio' name='roomtype' value ='1' required @if($row['roomtype'] == '1') checked="checked" @endif > Single Room </label> 
      <label class='radio radio-inline'> 
      <input type='radio' name='roomtype' value ='2' required @if($row['roomtype'] == '2') checked="checked" @endif > Double Room </label> 
      <label class='radio radio-inline'> 
      <input type='radio' name='roomtype' value ='3' required @if($row['roomtype'] == '3') checked="checked" @endif > Triple Room </label> 

select2要素にラジオボタンの値を渡したいとします。 maximumSelectionLength値については

$(".select2").select2({ width:"100%", maximumSelectionLength:3 }); 

代わりに3 Iのwannaのラジオボタンから値を渡す...ので、私は、このソリューションが付属していますが、それは任意のヘルプ感謝

$(".select2").select2({ width:"100%", maximumSelectionLength: $('input[name=roomtype]:checked') }); 

を動作しませんでした。おかげ

はEDIT: 私のフォームがモーダルで..です残念ながら、これらのソリューションは、私のために動作しませんでした。..

+0

もうすぐです。 '$( 'input [name = roomtype]:checked')。attr( 'value')'が役に立ちます。 – 31piy

+0

残念ながら、仕事はありません..フォームはモーダルです。それが理由かもしれない? – stoneshak

+0

あなたのコードをさらに表示するか、問題のために[最小限の、完全で実証可能な例(https://stackoverflow.com/help/mcve)を作成してみてください。 – gus27

答えて

0

あなたはroomtypeラジオボタンのchangeコールバックを使用することができます。コールバック関数の内部では、ラジオボタンの値をthis.valueで取得できます。したがって、maximumSelectionLengththis.valueに設定するだけです。

このような何か:

$(document).ready(function() { 
 
    $('input[type=radio][name=roomtype]').change(function() { 
 
     alert(this.value); 
 
     // $(".select2").select2({ width:"100%", maximumSelectionLength: this.value }); // uncomment this 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class='radio radio-inline'> 
 
    <input type='radio' name='roomtype' value ='1' checked="checked"> Single Room </label> 
 
<label class='radio radio-inline'> 
 
    <input type='radio' name='roomtype' value ='2'> Double Room </label> 
 
<label class='radio radio-inline'> 
 
    <input type='radio' name='roomtype' value ='3'> Triple Room </label>

0

別のアプローチだけでmaximumSelectionLengthを設定するLaravalブレードを使用することができた(私はあなたのコードで@IfディレクティブからLaravelブレードを使用していると仮定) 。

$(".select2").select2({ 
    width:"100%", 
    maximumSelectionLength: {{ $row['roomtype'] }} 
}); 
関連する問題