2016-08-03 9 views
0

jQueryを使用してボタンのクリックに新しい行を挿入しています。行はテキストボックスとドロップダウンメニューで構成されていますが、ドロップダウンメニューのオプションとしてデータベースからデータを取得するにはどうしたらいいですか?ドロップダウンのクローンを作成しようとしましたが、機能しません。ここjQueryを使用してドロップダウンリストにオプションを追加する

は、新しい行を追加することに私のJavaScriptコードである:

$(document).ready(function() { 
$('a.add').click(function(){ 

    var newRow = $('<tr id="newRow"><td class="data"><input type="text" class="in" id="txtId' + 
     '"/></td><td class="data"><input type="text" class="in" id="txtFname' + 
     '"/></td><td class="data"><input type="text" class="in" id="txtLname' + 
     '"/></td><td class="data"><input type="text" class="in-email" id="txtEmail' + 
     '"/></td><td class="data"><input type="text" class="in" id="txtPhone' + 
     '"/></td><td class="data"><input type="text" class="in-date" id="txtDate' + 
     '"/></td><td class="data-job"><select class="in-job" id="clone_target">' + 
     '<option value="">--Select a Job--</option>' + 
     '</select></td><td class="data"><input type="text" class="in" id="txtSalary' + 
     '"/></td><td class="data"><input type="text" class="in" id="txtComm' + 
     '"/></td><td class="data"><input type="text" class="in" id="txtManager' + 
     '" readonly /></td><td class="data"><select class="in-dept" id="selDept' + 
     '"/></td><td class="data"><a class="delRow"><img id="delImg" src="/assets/images/delete.jpg"></a></td></tr>'); 
    $('#tbl tbody').append(newRow); 

    $(".in-date").datepicker({ 
     dateFormat : 'yy/mm/dd', 
     changeMonth : true, 
     yearRange : "2000:2099", 
     changeYear : true, 
     dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 

    }).focus(function() { 
     $(".ui-datepicker-prev, .ui-datepicker-next").remove(); 
    }); 

    $(document).on("click", "a.delRow", function() { 
     var dad = $(this).parent(); 
     $(this).closest('tr').remove(); 
    }) 

}); 

})。

+0

は一意のIDをドロップダウンそれぞれを割り当て、その後、この答えを使用できると思いますここに:http://stackoverflow.com/questions/740195/adding-options-to-a-select-using-jquery-javascript – rodripf

答えて

0

私は、データベースの値を最初に取得してからJS配列に入れることができると思います。あなたはdocumentready

var dropdownData = []; 
$.ajax("<link to the backend>").done(function(data) 
{ 
    dropdownData = data; //this depends on what kind of data your backend sends 
}) 

または多分バックエンドの言語を使用する時に、AJAXを使用してDB値を得ることができる ...あなたがPHPを使用していて、配列

var dropdownData = [<?php echo implode(",", $dbData)?>] 

ヘイブンとしてのデータを入れていると仮定します「tはそれをテストし、私はそれがその後

を動作するはずです、あなたはループ選択ドロップダウンオプションリストを

+0

私は仮定: 別の言語が異なる場合があります – Sen

関連する問題