Dropdown填充了数据库数据,添加了按钮单击

时间:2017-05-27 05:00:16

标签: javascript php jquery dropdown populate

我很困惑如何填充我的下拉列表,添加按钮单击数据库值。我使用jQuery来执行按钮单击下拉列表的添加功能。但似乎我无法使用数据库值填充我的jQuery中的select标签的选项。请帮帮我...

这是我的php页面

     <?php include("connect.php");
      $smt = $conn->prepare('select CompanyName From Company');
      $smt->execute();
      $data = $smt->fetchAll();
      ?>

       <div class="form-group" id='TextBoxesGroup'>
            <label for="layer" class="col-sm-3 control-label">Layer</label>
            <div id="TextBoxDiv1" class="col-sm-6">
              <select class="form-control" id='textbox1' name="company" placeholder="Company" >

               <?php foreach ($data as $row): ?>
                   <option><?=$row["CompanyName"]?></option>
                <?php endforeach ?>

              </select>
            </div><hr/>

          </div> 

           <div class="form-group" >
            <div class="col-md-9 text-right">                 
               <input type='button' class="btn btn-default" value='Add +' id='addButton'>
            </div>
          </div>

用于在按钮点击时添加下拉列表的jQuery代码是:

编辑:             

 $(document).ready(function(){

  var counter = 2;

  $("#addButton").click(function () {

  if(counter>5){
        alert("Only 5 Layers allowed");
        return false;
   }
  var companies = [<?php echo "'".join("','",$data)."'";?>];
  var newTextBoxDiv = $(document.createElement('div'))
   .attr("id", 'TextBoxDiv' + counter);

  newTextBoxDiv.after().html('<div class="form-group" id="TextBoxesGroup"><label class="col-sm-3 control-label">Layer '+ counter + ' : </label>' +' <div id="TextBoxDiv1" class="col-sm-6"><select class="form-control" name="textbox' + counter + '" id="textbox' + counter + '" name="company" placeholder="Company">');

 $.each(companies, function(key, value){
    newTextBoxDiv.append('<option>'+value+'</option>');
});

newTextBoxDiv.append('</select> </div></div>');  
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
   });

});

 </script>

但输出显示如下:enter image description here 谢谢

1 个答案:

答案 0 :(得分:1)

嗯,你需要echo $row['companyName']的价值(你的foreach循环中的那个)

另一种实现方式是......假设你的PHP中有一组值。

$data = array("company A", "company B", "company C");

和javascript ...

<script>
var companies = [  <?php echo "'". join("','", $data) . "'";?>  ];
//This generates : ['company A', 'company B', 'company c'];

function insertOptions()
{
    $.each(companies, function(key, value){
        $("#IDofSelectTag").append("<option>"+value+"</option>");
    });
}
</script>