【问题标题】:How do i append the PHP code to the Javascript append function under <script> tag如何将 PHP 代码附加到 <script> 标记下的 Javascript 附加函数
【发布时间】: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 函数调用到其中,以便在 &lt;select&gt; 中循环 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


【解决方案1】:

看来你不明白 PHP 和 JavaScript 的区别,或者服务器端和客户端的区别。

Difference between Javascript and PHP

要解决您的问题,您可能需要使用 Ajax。

https://stackoverflow.com/a/23740549/851885

【讨论】:

  • 这不是答案,应该是评论。
  • @arkascha 好吧,当他不了解自己所做工作的基本原理时,我不会为他写申请。
  • 绝对正确。你不应该。这不是这里的问题。你有没有费心去理解我上面说的什么
  • @arkascha 你似乎对某事很生气。你还好吗?
  • 其实我很放松,很享受我的生活。我只是指出了一些我认为有些重要的事情。答案应该回答一个问题。评论用于评论问题。它们是有区别的。就这样。这为什么或如何表明我可能会“生气”?!?
猜你喜欢
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2012-08-05
  • 2012-03-13
  • 2014-05-21
相关资源
最近更新 更多