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