0

通常、動的に入力されるドロップダウンを作成するときは、次のように単純な foreach ループを使用してデータを取得します。

<select name="region" id="region" tabindex="1">
   <option value="">Select a Course</option>
   <?php foreach ( $courses as $course ) : ?>
   <option value="<?php echo $course->coursename; ?>"><?php echo $course->coursename; ?></option>
   <?php endforeach; ?>
</select>

*where $courses = select("SELECT * FROM courses"); 

などなど

私が可能かどうかわからないのは、ユーザーの要件ごとに追加の入力フィールドを追加するためにいくつかのフォームで使用している以下のような javascript 関数内の現在のフォームのようなものでこれを使用することです。たとえば、これはテキスト入力では問題なく機能します(以下のように、各入力オプションを手動で入力すると使用できます)が、上記の PHP/mySQL の例を javascript で再作成する最良の方法についてはまったくわかりません邪魔になりません。これが AJAX で簡単に実行できるかどうかを調べようとしましたが、私がやろうとしていることの例を見つけることができませんでした。

<script type="text/javascript">
var count = 0;
$(function(){
    $('p#add_field').click(function(){
        count += 1;
        $('#container').append(
                '<h4>Link #' + count + '</h4>&nbsp' 
                +'<select id="field_' + count + '" name="fields[]">' + '<option>Select a Course</option>'+'</select>');

    });
});
</script>

これを行うための最良の方法についてのアドバイスに感謝します。

4

1 に答える 1

0

更新-私は最終的に自分の質問に答えることができました-以下のコードによる解決策。

<script type="text/javascript">
var count = 0;
$(function(){
    $('p#add_field').click(function(){
        count += 1;
        $('#container2').append(
                '<strong>Golf Course ' + count + '</strong>&nbsp&nbsp&nbsp' 
                +'<select id="field_' + count + '" name="fields[]">' + "<?php foreach ( $courses as $course ) { $name = $course->coursename; ?>"+"<?php echo '<option value=\''.htmlspecialchars($name).'\'>'.$name.'</option>'; ?>"+"<?php } ?>"+'</select><br />')

    });
});
</script>
于 2013-02-16T14:24:32.580 に答える