2017-03-10 1 views
0

ich lerne Rubin (RoR 4.2.5, Rubin 2.1.5) und ich brauche 2 wählt zu tun, die erste ist für die Nutzer und die zweite ist für RabatteÄndern der Optionen in wählt

SELECT 1

<select id="select1"> 
    <option value="1">Person1</option> 
    <option value="2">Person2</option> 
    <option value="3">Person3</option> 
    <option value="4">Person4</option> 
</select> 

2 SELECT

<select id="select2"> 
<option value="100">1</option> 
<option value="200">2</option> 
<option value="50">3</option> 
<option value="20">4</option> 
</select> 

Wenn Sie "Person1" select2 muss "1" sein, mit dem Wert "100", mit "Person2" select2 braucht "2" mit dem Wert „200 zu sein ". Irgendeine Idee?

+0

Können Sie mehr erklären? –

+0

Es ist in etwa so: http://stackoverflow.com/questions/927656/jquery-select-the-same-option-on-three-select-drop-downs-with-one-action Die ID des ersten Eine wird wie Option in Select2 verwendet. – kororo

+0

Was ist mit Ruby oder RubyOnRails zu tun? Es ist eine jQuery-Sache. –

Antwort

0

Da sie immer synchron sind, so weit wie die Reihenfolge geht, können Sie einfach nach dem Index suchen und dann den zweiten entsprechend einstellen.

var option_index = $("#select1 option:selected").index(); 

und dann können Sie die zweite auf dem ersten Index basiert gesetzt. $('#select2 option').eq(option_index).prop('selected', true);

natürlich müssen Sie initialisieren und dann auch auf das Ereignis on change hören.

hier eher ein vollständiges Beispiel dafür, wie die JS wäre (mit jQuery):

//Initialize on ready: 
var option_index = $("#select1 option:selected").index(); 
$('#select2 option').eq(option_index).prop('selected', true); 

//Listen for the change 
$('#select1').on('change', function(){ 
    option_index = $("#select1 option:selected").index(); 
    $('#select2 option').eq(option_index).prop('selected', true); 
}); 
+0

Jquery wird in .coffee-Dateien verwendet oder kann in den Ansichten verwendet werden? – kororo

+0

Normalerweise würden Ihre Skripts tatsächlich in den Ansichten angezeigt. Normalerweise haben Sie eine gemeinsame Vorlage für Ihr Layout in ROR. Ich würde die Jquery-Lib direkt über dem End-Body-Tag Ihrer Layout-Vorlage einfügen, um sie für alle Ihre Ansichten nutzbar zu machen. – Adrianopolis

+1

Danke, es funktioniert gut auf meiner App – kororo

Verwandte Themen