2017-06-14 2 views
0

Nach dem Suchen nach einer langen Zeit konnte ich noch keine Lösung zu meiner Frage finden.Einen Wert vom Radioknopf zum select2 erhalten

<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> 

Ich möchte den Radiobutton Wert an select2 Element übergeben.

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

Für maximumSelectionLength Wert anstelle von 3 Ich möchte den Wert von Optionsfeldern passieren .. so habe ich mit dieser Lösung kommen, aber es nicht

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

Jede Hilfe dankbar funktioniert. Dank

EDIT: Meine Form ist in Modal .. leider sind diese Lösungen nicht für mich arbeiten ..

+0

Sie sind in der Nähe. '$ ('input [name = roomtype]: checked') .attr ('value')' kann helfen. – 31piy

+0

Leider hat nicht funktioniert .. Form ist in modal. Das könnte der Grund sein? Keine Ahnung – stoneshak

+0

Sie sollten mehr von Ihrem Code zeigen - oder besser versuchen, ein [minimales, vollständiges und verifizierbares Beispiel] (https://stackoverflow.com/help/mcve) für Ihr Problem zu erstellen. – gus27

Antwort

0

Sie die change Rückruf für den Zimmertyp Radiobutton nutzen könnten. Innerhalb der Callback-Funktion können Sie den Wert des Optionsfelds durch this.value abrufen. Alles was Sie brauchen ist maximumSelectionLength dort zu setzen this.value.

Etwas wie folgt aus:

$(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

Ein weiterer Ansatz könnte einfach Laraval Klinge verwenden maximumSelectionLength einzustellen (ich nahm Sie Laravel Klinge aus der @if Richtlinie in Ihrem Code verwenden) .

$(".select2").select2({ 
    width:"100%", 
    maximumSelectionLength: {{ $row['roomtype'] }} 
}); 
Verwandte Themen