【发布时间】:2016-09-03 08:49:54
【问题描述】:
我的脚本文件是
<script type="text/javascript">
$(document).ready(function(){
$(".select2").select2();
var MaxInputs = 50; //maximum input boxes allowed
var InputsWrapper = $("#overall_wrapper"); //Input boxes wrapper ID
var AddButton = $("#AddMoreFileBox"); //Add button ID
var x = InputsWrapper.length; //initlal text box count
var FieldCount=1; //to keep track of text box added
$(AddButton).click(function (e) //on add input button click
{
if(x <= MaxInputs) //max input box allowed
{
FieldCount++; //text box added increment
//add input box
$(InputsWrapper).append('<div class="repeat_element" id="row_'+FieldCount+'"><div class="col-sm-1" id="row1_'+FieldCount+'"><input type="text" class="form-control" name="s_no[]" value="'+FieldCount+'" /></div><div class="col-sm-2" id="row1_'+FieldCount+'"><select class="form-control select2" name="part_no[]" id="part_no" onchange="choose_parts(this.value);" required><option value="">Please Select</option></select></div><div class="col-sm-3" id="row1_'+FieldCount+'"><input type="text" class="form-control" name="part_desc[]" value="" /></div><div class="col-sm-1" id="row1_'+FieldCount+'"><input type="text" class="form-control" name="part_mrp[]" value="" /></div><div class="col-sm-1" id="row1_'+FieldCount+'"><input type="text" class="form-control" name="req_qty[]" value="" /></div><div class="col-sm-1" id="row1_'+FieldCount+'"><input type="text" class="form-control" name="instock[]" value="" /></div><div class="col-sm-2" id="row1_'+FieldCount+'"><select class="form-control" name="billing_type[]"><option value="Cash">Cash</option><option value="Credit">Credit</option></select></div><div class="col-sm-1" id="row1_'+FieldCount+'"><div onclick="hiding('+FieldCount+')" class="removeclass"><div class="btn btn-danger" id="AddMoreFileBox"><i class=" fa fa-minus-circle" title="Delete"></i> </div></div></div>');
$(".select2").select2(); // Reinitialize the select2 again when the div is appended
x++; //text box increment
}
return false;
});
});
</script>
我有一个页面,我将这个添加按钮 jquery 称为 jquery,我得到了第二行,但我无法调用 PHP 函数,如 foreach,if 到附加脚本中。
我的疑问是,当我单击 plus sybmol 时,我调用了 select2 JS,它运行良好,但我需要将 PHP 函数调用到其中,以便在 <select> 中循环 option value。
我需要在我的 JS 下的这个选中的标签中生成动态选项
<select class="form-control select2" name="part_no[]" id="part_no" onchange="choose_parts(this.value);" required><option value="">Please Select</option></select>
我的 PHP 函数用于获取
function getAllActiveSpare($id)
{
$query="";
$conn=connectToDB();
if(func_num_args()==1)
{
$query="SELECT * FROM `spare` WHERE `id`='".$id."' AND `status`='1' AND `delete_status`='0'";
}
else
{
$query="SELECT * FROM `spare` WHERE `delete_status`='0' AND `status`='1' ORDER BY `id` DESC ";
}
$results = $conn->query($query);
$counts = $results->num_rows;
if($counts==0)
{
return false;
}
else
{
$rows=[];
while($row = $results->fetch_assoc())
{
$rows[] = $row;
}
return $rows;
}
}
我需要在append函数下的JS Select TAG中单独追加这部分。
<?php $parts_number = getAllActiveSpare();
if($parts_number==false)
{
?>
<option value="">No Parts Created Yet</option>
<?php
}
else
{
?>
<option value="">Please Select</option>
<?php
foreach ($parts_number as $key => $single_parts) {?>
<option value="<?php echo $single_parts['ref_part_no']; ?>"><?php echo $single_parts['ref_part_no']; ?></option>
<?php
}
}
?>
</select>
以上这些我都试过了。谁能帮我这个 。过去两天我很受打击。
【问题讨论】:
-
您是否完全忽略了javascript在客户端工作而php在服务器端工作的观点?您需要为此执行 ajax 调用并将值发布到服务器端才能使用 php。
-
@arkascha。谢谢回复。但我的问题是我如何单独使用 append 函数从 JS 中附加 PHP 函数。我让所有的帖子值都是正确的,但我无法使用其中的 PHP 函数。你能单独解释一下那部分吗..
-
是的,如果你从头到尾使用 AJAX,那就太好了。
-
如前所述:进行 AJAX 调用以将值从 Javascript 发布到服务器,然后发布到 php.ini。然后处理发布的值,输出您想要的任何内容,然后将其发回。然后,您可以使用 AJAX 调用接收到的有效负载来 append() 它,无论何时何地。
-
您需要创建一个单独的 php 页面并发送带有参数的 get/post 请求。 Javascript 在 PHP 代码完全执行后加载。
标签: javascript php jquery html mysqli