Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP填充下拉列表选择数据库中位于Javascript标记内的数据_Php_Codeigniter 2 - Fatal编程技术网

PHP填充下拉列表选择数据库中位于Javascript标记内的数据

PHP填充下拉列表选择数据库中位于Javascript标记内的数据,php,codeigniter-2,Php,Codeigniter 2,使用下面的代码,我可以通过下拉选择和文本输入字段创建无限数量的行。问题是我想用数据库中的数据填充下拉选择,但我不知道在javascript标记中创建下拉选择时如何操作。我尝试使用codeigniter的默认下拉选择,而不是通常的下拉选择类型,但是当我单击add按钮创建新行时,它什么也不做 你能帮我解决这个问题吗?仅供参考,我正在使用Codeigniter 提前感谢: 这是我的javascript:: <script type="text/javascript"> $(functi

使用下面的代码,我可以通过下拉选择和文本输入字段创建无限数量的行。问题是我想用数据库中的数据填充下拉选择,但我不知道在javascript标记中创建下拉选择时如何操作。我尝试使用codeigniter的默认下拉选择,而不是通常的下拉选择类型,但是当我单击add按钮创建新行时,它什么也不做

你能帮我解决这个问题吗?仅供参考,我正在使用Codeigniter

提前感谢:

这是我的javascript::

<script type="text/javascript">

 $(function() {
    $("input[type=button][value=Add]").click(function(e) {
     e.preventDefault();
       var newDiv = $("<div>").appendTo("#div");
        $("<select>").attr("name", "fee_type[]").attr("class", "required").appendTo(newDiv).append(
         $("<option>").val("0").text("Option 1"), 
        $("<option>").val("1").text("Option 2"));           
        $("<input>").attr("name", "fee_amount[]").attr('class', 'small required').appendTo(newDiv);                                                 

         $("<button>").text("Remove").appendTo(newDiv).click(function (e) {
          e.preventDefault();
          newDiv.remove();                                                  
        });                                             
         });                                               

        });                                             

</script>                                                       
这是我的控制器:

        $this->load->model('dropdown_fee_types');
    $data['records']= $this->dropdown_fee_types->fee_types();
    $data['main_content']='view_studentfee';                                               
    $this->load->view('includes/template',$data);       


永远不要使用codeigniter,因为它不确定数据到底放在哪里……但是基本原理也会在

Hi,SomeOne\u 1.中解释。。谢谢你的回复。我试过你的代码,但还是不起作用。当我点击add按钮添加一行时,它什么也不做。但我发现了一件事,如果我使用foreach$data['records']作为$key=>$value{在javascript标记内,它不起作用。你知道其他方法吗。?谢谢如果你对文件进行了模板化,那么它将非常容易解析,请看一看如何从逻辑中分别对html和javascript进行模板化。Smarty是一个非常直接的tpl引擎,或者你可以自己做一个:
        $this->load->model('dropdown_fee_types');
    $data['records']= $this->dropdown_fee_types->fee_types();
    $data['main_content']='view_studentfee';                                               
    $this->load->view('includes/template',$data);       
<script type="text/javascript"> $(function() {
$("input[type=button][value=Add]").click(function(e) {
 e.preventDefault();
   var newDiv = $("<div>").appendTo("#div");
    $("<select>").attr("name", "fee_type[]").attr("class", "required").appendTo(newDiv).append(
     <? 
       foreach($data['records'] as $key=>$value){
         print '$("<option>").val("'.$key.'").text("'.$value.'"),';
       }
    ?>        
    $("<input>").attr("name", "fee_amount[]").attr('class', 'small required').appendTo(newDiv);                                                 

     $("<button>").text("Remove").appendTo(newDiv).click(function (e) {
      e.preventDefault();
      newDiv.remove();                                                  
    });                                             
     });                                               

    });