[英]Dropdown populated with database data that adds on button click
I am confused how to populate my dropdown that adds on button click with database values . 我很困惑如何填充我的下拉菜单,该下拉菜单中添加了数据库值。 I used jQuery to do the adding function of dropdown on button click.
我使用jQuery来完成按钮单击时下拉菜单的添加功能。 but it seems like i cant populate the options of the select tag inside my jQuery with database values.
但是似乎我无法用数据库值填充jQuery内部select标签的选项。 Please help me out...
请帮帮我...
This is my php page 这是我的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>
The jQuery code used to add dropdown on button click is: 用于在按钮单击上添加下拉列表的jQuery代码是:
EDIT: 编辑:
$(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>
Well, you need to echo
out the value of $row['companyName']
(the one inside your foreach loop) 好吧,您需要
echo
$row['companyName']
(foreach循环中的那个)
Another implementation would be... say you have an array of values in your PHP. 另一个实现是...说您的PHP中有一个值数组。
$data = array("company A", "company B", "company C");
And the javascript... 还有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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.