0

プロジェクトのある時点で混乱しました。ここで作ろうとしているのは次のようなものです。

データベースからデータを取得する ボタンで新しい選択ボックスを作成する - 作成 この選択ボックスにデータベースからの値を入力する ボタンでその選択ボックスを削除するオプション - 削除

私がこれまでに持っているコード PHP/HTML:

   <button type="button" name="add" onclick="return false;" id="addField" class="nice_button">Добавить(ADD)</button>


   <button type="button" name="remove" onclick="return false;" id="remove" class="nice_button">Удалить(DELETE)</button>


 <tbody id="documentFields">
 <tr>
    <td>
        <select size="1" name="hardware[]" style='width:400px;'>
        <option value=""></option>
        <?php   while($hardware = $get_hardware->fetch_array()){
          echo "<option  value='".$hardware['st_id']."'>".$hardware['st_name']." ".$hardware['st_producer']." ".$hardware['st_model']."</option>";
        }
        ?>
        </select>
    </td>
</tr>
</tbody>

私がこれまでに持っているJSスクリプトは次のようになります。

var g = 1;
var id = [ <? php echo $js_id; ?> ];
$(document).ready(function Product_add() {
    $("#addField").click(function () {
        $("#documentFields").append('<tr id="fieldset_p' + g + '"><td><select size="1" name="hardware[]" style="width:400px;"><option value=""></option></select></td></tr>');
        g++;
    });
});
$(document).ready(function Product_add() {
    $('#remove').click(function () { // similar to the previous, when you click remove link
        if (g > 1) { // if you have at least 1 input on the form
            g--; //deduct 1 from i so if i = 3, after i--, i will be i = 2
            $('#fieldset_p' + g + '').remove(); //remove the last fieldset  
        }
    });
});

問題は、php function: while を追加できないことです。そのため、この選択ボックスを以前のように入力することはできません。

4

1 に答える 1

2

この場合、Ajaxを使用できます。

ajaxとは:

http://en.wikipedia.org/wiki/Ajax_(programming)

それは特定のフォーマットであなたの情報だけでページを提供しています。次に、JavaScriptを使用して呼び出し、ページに解析します。

jqueryでこれを行う方法のドキュメント:

http://api.jquery.com/jQuery.ajax/


アップデート:

コード例:

$.get('ajax/test.html', function(data) {

    // read in data = = [{'option':'option 1'},{'option':'option 2'}]

      $.each(data, function(index, itemData) {
       /// do stuff
         $('<option>' + itemData.option + '</option>').appendTo('#myselectbox');
      });

});
于 2013-02-06T09:07:08.707 に答える