2016-04-28 12 views
2

jqueryを使用してモーダルフォームにデータを入力しようとしていますが、ドロップダウンリストを機能させることができません。私はjqueryを初めて使っているので、正しいことをしているかどうかはわかりません。これは私がデータを使用してjQueryのに値を渡す方法です:jqueryを使用してドロップダウンリストの最初のオプションの値を設定する

<a class="btn btn-primary btn-xs" data-toggle="modal" data-target="#editItem" data-id="<?php echo $row_selectItem['item_id'];?>" data-no="<?php echo $row_selectItem['item_no'];?>" data-desc="<?php echo $row_selectItem['item_desc'];?>" data-cat="<?php echo $row_selectItem['cat_name'];?>" data-unit="<?php echo $row_selectItem['unit_name'];?>" data-quantity="<?php echo $row_selectItem['quantity'];?>" data-cost="<?php echo $row_selectItem['unit_cost'];?>" > 

そして、これは私がjQueryの上で値を設定し、モーダルフォーム上でそれらを表示する方法を示します。

$('#editItem').on('show.bs.modal', function (e) { 
       var id = $(e.relatedTarget).data('id'); 
       var no = $(e.relatedTarget).data('no'); 
       var desc = $(e.relatedTarget).data('desc'); 
       var cat = $(e.relatedTarget).data('cat'); 
       var unit = $(e.relatedTarget).data('unit'); 
       var cost = $(e.relatedTarget).data('cost'); 
       var quantity = $(e.relatedTarget).data('quantity'); 
       $("#item_id").val(id); 
       $("#item_no").val(no); 
       $("#item_desc").val(desc); 
       $("#category option:first").val(cat); 
       $("#unit option:first").val(unit); 
       $("#unit_cost").val(cost); 
       $("#quantity").val(quantity); 
      }); 

      $('#editItem').on('hidden.bs.modal', function() { 
      $(this).removeData('bs.modal'); 
     }) 

カテゴリとユニットがドロップダウンされていますリスト。ここでは、前の値をドロップダウンリストの最初のオプションとして表示する必要があります。残りは働いています。

これはモーダルフォームでの選択用のコードです。残りの部分は含めず、ユニットとカテゴリの選択のみを行います。任意の助けいただければ幸いです:)

<div class="form-group"> 
    <select class="form-control" id="category" name="category"> 
    <option value=""></option> //value should be here 
    </select> 
    <span class="help-block"></span> 
</div> 
<div class="form-group"> 
    <select class="form-control" name="unit" id="unit"> 
    <option value=""></option>//value should be here 
    </select> 
    <span class="help-block"></span> 
</div> 
+0

これらのドロップダウンリストにオプションが追加されていて、上に移動したいだけですか? – progrAmmar

+0

@progrAmmar実際には、渡された値をドロップダウンリストの最初のオプションにして、現在の値であることをユーザーに示す理由は、更新/編集フォームです。 –

+0

私の答えをチェックしてください – progrAmmar

答えて

1

は、あなたがこの

$("#category > option:first-child").val(cat); 
$("#unit > option:first-child").val(unit); 

そして、あなたが同様にオプションのテキストを設定する場合を試すことができますそれはあなたのHTMLコード

であると仮定すると:

$("#category > option:first-child").text(cat); 
$("#unit > option:first-child").text(unit); 

ただし、選択値に既にオプションのリストが含まれていて、削除する場合は選択したものを上に追加すると、このようなことをすることができます

+0

ヴァルは機能しませんでしたが、テキストが機能しました!!!!ありがとうございました:) –

+0

別のシナリオを追加するように編集しました。 valは機能しますが、ドロップダウンフィールドの値であるため、valが画面に表示されません。オプションにはテキストと値という2つのフィールドがあり、テキストはリストに表示され、値はサーバーに入力として送信されます。 – progrAmmar

+0

さて、それを得ました。ありがとう –

関連する問題