将html选择框附加到使用MYSQL查询结果填充的页面

时间:2013-02-06 19:14:10

标签: php javascript mysql database append

通常在创建动态填充的下拉列表时,我会使用如下的简单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示例的最佳方法不会妨碍。我试着研究一下这是否可以轻松地用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>

非常感谢有关最佳方法的任何建议。

1 个答案:

答案 0 :(得分: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>