0

jquery を使用して、html フォーム要素をテーブルに追加できます。php/my sql クエリが入力されたメニューを追加して、php メニューが td と入力の間にあるようにするにはどうすればよいですか?

<script type="text/javascript">
$(document).ready(function() {
      $("#link td input.rdelete").live("click", function () {
              $(".newrow").attr("disabled",false);
            var srow = $(this).parent().parent();
                        srow.remove();                  
            });
});


function AddNew() { 
           if($("#link tr").length > 12) {
              $(".newrow").attr("disabled",true);
           }
           var count = 0;
           count += 1;

        $("#link").append('<tr><td></td><td> <input type=\"button\" value = \"Delete\" class=\"rdelete\"/></td></tr>' );
           }
</script>

PHPメニューは次のとおりです。

<select name="sub_discipline" id="sub_discipline">
            <option>Select Sub-discipline...</option>
            <?php 
$query = mysql_query("SELECT * from sub_discipline ORDER BY sub_discipline_name ASC");
while ($row = mysql_fetch_assoc($query)){
?>
            <option value="<?php echo $row['sub_discipline_pk']; ?>"><?php echo $row['sub_discipline_name']; ?></option>
            <?php 
}
?>
          </select>

編集:爆発薬のおかげで、私は今持っています:

<script type="text/javascript">
$(document).ready(function() {
$("#jMenu").jMenu();
      $("#link td input.rdelete").live("click", function () {
              $(".newrow").attr("disabled",false);
            var srow = $(this).parent().parent();
                        srow.remove();                  
            });
});


    function AddNew() { 
               if($("#link tr").length > 12) {
                  $(".newrow").attr("disabled",true);
               }

    $.getJSON('../scripts/link_menu.php', function (json) {
       $("#links").empty();
       $.each(json, function () {
           $("#links").append(new Option(this.link_title));
       });
    }); 

            $("#link").append('<tr><td></td><td><select name="links[]" id="links"> </select><input type=\"button\" value = \"Delete\" class=\"rdelete\"/></td></tr>' );

    </script>

問題は、最初に追加されたメニューのみが入力されていることです。

4

1 に答える 1

1

PHP と JavaScript が一緒に動作するという事実を誤解しないようにする必要があります。彼らはお互いに不可知論者です (つまり、お互いの存在を知りませんが、相手が存在しないという絶対的な主張をする気はありません)。

MySQL の結果を JSON としてエコーする単純な PHP スクリプトを作成できます。

$query = mysql_query("SELECT * from sub_discipline ORDER BY sub_discipline_name ASC");
$rows = array();
while ($row = mysql_fetch_assoc($query)){ $rows[] = $row; }
echo json_encode($rows);

次に、JavaScript で次のようにします。

$.getJSON('/agnostic-php-script.php', function (json) {
   $("#sub_discipline").empty();
   $.each(json, function () {
       $("#sub_discipline").append(new Option(this.subdiscipline_name));
   });
});

の使用も停止ext/mysqlする必要があります。回避できる場合は、ループに追加しない方がよいでしょう。

于 2013-01-31T04:17:33.370 に答える