【问题标题】:Appending html select box to page that is populated with MYSQL query results将 html 选择框附加到填充有 MYSQL 查询结果的页面
【发布时间】:2013-02-06 19:14:09
【问题描述】:

通常在创建动态填充的下拉列表时,我会使用如下简单的 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>

非常感谢您提供有关执行此操作的最佳方法的任何建议。

【问题讨论】:

  • 你的目标是什么?你想做什么?您没有明确说明您遇到的问题。
  • 抱歉,不清楚。我一直在使用上面的 javascript 函数来附加新的文本输入字段,然后将其作为另一个 mySQL 查询插入。我想要实现的是能够附加一个使用 mySQL 查询数据动态填充的选择框(顶部的示例是我之前所做的)。

标签: php javascript mysql database append


【解决方案1】:

更新 - 我最终设法回答了我自己的问题 - 按照下面的代码解决方案。

<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>

【讨论】:

    猜你喜欢
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多