2017-04-06 8 views
1

私はこの問題で多忙な日々を抱えています。私は重複と重複と重複がユーザーに依存するSELECTを行う必要があります。その後、選択した選択肢のすべてのオプションの値を組み合わせる必要があります。私はここに答えがあることを願っています。以下に以下のコード:SELECT:2つ以上の値を組み合わせて選択し、その組み合わせを出力として取得します。

<button name="duplicateselect" class="btn btn-primary">ADD ANOTHER SELECT</button> 

<div class="row"> 
    <div class="col-lg-12"> 
    <div class="form-group"> 
     <label for="select1">ELEMENT 1</label> 
     <select class="form-control" name="select2" id="select2"> 
     <option value="H">HYDORGEN</option> 
     <option value="O">OXYGEN</option> 
     <option value="K">POTASSIUM</option> 
     </select> 
    </div> 
    </div> 
    <div class="col-lg-12"> 
    <div class="form-group"> 
     <label for="select2">ELEMENT 2</label> 
     <select class="form-control" name="select2" id="select2"> 
     <option value="H">HYDORGEN</option> 
     <option value="O">OXYGEN</option> 
     <option value="K">POTASSIUM</option> 
     </select> 
    </div> 
    </div> 
    <input type="text" class="form-control" placeholder="Combination Here" name="combination" id="combination"> 
</div> 

OUTPUTにすべきである:例えば
私はSELECT1 HYDROGENに選択し、SELECT2 OXYGENで
値はH + O

答えて

2

する必要がありますあなたが持っているID select2を持つ2つのselect。そのうちの1つを変更する必要があります。次のことを試してみてください。

$('input[name=duplicateselect').click(function(){ 
 
    var sel1 = $('#select2 option:selected').val(); 
 
    var sel2 = $('#select3 option:selected').val(); 
 
    $('#combination').val(sel1+' + '+sel2) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="submit" name="duplicateselect" class="btn btn-primary"> 
 
<div class="row"> 
 
    <div class="col-lg-12"> 
 
    <div class="form-group"> 
 
     <label for="select1">ELEMENT 1</label> 
 
     <select class="form-control" name="select2" id="select2"> 
 
     <option value="H">HYDORGEN</option> 
 
     <option value="O">OXYGEN</option> 
 
     <option value="K">POTASSIUM</option> 
 
     </select> 
 
    </div> 
 
    </div> 
 
    <div class="col-lg-12"> 
 
    <div class="form-group"> 
 
     <label for="select2">ELEMENT 2</label> 
 
     <select class="form-control" name="select2" id="select3"> 
 
     <option value="H">HYDORGEN</option> 
 
     <option value="O">OXYGEN</option> 
 
     <option value="K">POTASSIUM</option> 
 
     </select> 
 
    </div> 
 
    </div> 
 
    <input type="text" class="form-control" placeholder="Combination Here" name="combination" id="combination"> 
 
</div>

+0

はい、ユーレカを変更。しかし、私は、自動的に結合する必要があることを忘れていました。重複をクリックすると重複して複製する必要があります。しかし、@Mamun、そうです。 –

+0

オプションの変更時に値を計算しますか? – Mamun

+0

これは、あなたが$( '#combination')を必要とするかもしれないことを意味するかもしれません。val($( '#combination')。val()+ sel1 + '+' + sel2) – Andiih

0

これは、いくつかの簡単なjavascriptの(またはjQueryの)を必要とする予定です。どのように振る舞うかに応じていくつかのオプションがあります:

A)選択ボックスにonchangeイベントハンドラを追加します。どちらかが変更されたときに値を取得してコンボボックスにポップアップします

B)同じことを行うフォームにobsubmitイベントハンドラを追加します。ここでは、最後の#combinationはon

(答えはちょうど@mamunからポップアップたように、私は、コードを再入力気にしないでよ!)

+0

さて、私はその選択を複製し、その値を入力に追加するコードが必要です –

0
$('select').on('change', function(){ 
    var s = ''; 
    $('select').each(function(){ 
    if(s == '') { 
     s = $(this).val(); 
    } else { 
     s = s + ' + ' + $(this).val() ; 
    } 
    }) 
    $('#combination').val(s); 
}) 

https://codepen.io/SESN/pen/bqyexN?editors=1111

+0

はい、それはあります。選択を増やす必要があります。それはCLONEDとAPPENDと呼ばれています。 –

+0

多くのコードの複製が行われています... –

+0

さて、私はそれを持っています。それは複雑すぎますが、私はあなたに私に助けを与えてくれたと思います! @Ronin Cypis –

関連する問題