尝试使用基于按钮单击的PHP快速使用jQuery附加html元素,但未显示任何内容。由于它是动态创建的,因此我使用计数器变量保留了动态html元素的id和name属性值,以便以后在保存到数据库时可以彼此区分。
以下是代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<?php
if (isset($_POST['checkexistingopp']))
{
$sql = "select l.id as LinkId, o.id, concat(o.Opponenttype,' - ', o.OpponentName , ' - رقم المرجعي - ',o.Refnumber,' ',o.OpponentCaser) as Opponent ,l.case_id,l.opponent_id from wp_opponentcaselink l, wp_opponents o where o.id=l.opponent_id and l.case_id=".$_POST['case_id'];
//echo $sql;
if ($results = $wpdb->get_results( $sql))
{
$c=0;
$echomsg= "<script>
$(document).ready(function() { var str='';";
foreach ($results as $result){
$linkid=$result->LinkId;
$RefNumber=$result->refnumber;
$case_id=$result->case_id;
$opponent_id=$result->opponent_id;
$opponent=$result->Opponent;
$c=$c+1; //counter to differentiate names and ids of html elements
if (isset($opponent_id)) {
$echomsg.=" str=\"<br> <br><input type=\"hidden\" id=\"LinkId.$c.\" name=\"LinkId.$c.\" value=\"$linkid\" /> <p>Opponent No.$c.</p> <select id=\"opponent_id.$c.\" name=\"opponent_id.$c.\" class=\"form-control input sm select2\">.$OpponentOptions.
<option value=\"$opponent_id\" selected>$opponent</option>
</select>
$( \"#AppendForm\" ).append(str);";
}
}
$echomsg.= " });
</script>";
echo $echomsg;
//var_dump($echomsg);
}
}
?>
以下是表单html
<form role="form" method="post">
select case
<select id="case_id" name="case_id" class="form-control input sm select2" required>
<?php echo $options; ?>
</select>
<input type="submit" value="Check existing opponents" id="checkexistingopp" name="checkexistingopp" />
</form>
<form id="AppendForm" role="form" method="post" >
</form>
但是只要单击按钮,什么都没有发生,有人可以提出任何解决方案吗?预先感谢您的回答
为什么不让PHP直接呈现表单元素呢?这些似乎都不需要任何JavaScript。在这种情况下,JavaScript / jQuery不会增加任何价值。
例如
$echomsg = "";
if ($results = $wpdb->get_results( $sql))
{
$c = 0;
foreach ($results as $result)
{
$linkid = $result->LinkId;
$RefNumber = $result->refnumber;
$case_id = $result->case_id;
$opponent_id = $result->opponent_id;
$opponent = $result->Opponent;
$c++; //counter to differentiate names and ids of html elements
if (isset(opponent_id)) {
$echomsg .= '<br><br>
<input type="hidden" id="LinkId'.$c.'" name="LinkId'.$c.'" value="'.$linkid.'" />
<p>Opponent No'.$c.'</p>
<select id="opponent_id'.$c.'" name="opponent_id'.$c.'" class="form-control input sm select2">'.$OpponentOptions.'
<option value="$opponent_id" selected>'.$opponent.'</option>
</select>';
}
}
//....
?>
<form id="AppendForm" role="form" method="post">
<?php echo $echomsg; ?>
</form>
注意:我不知道$OpponentOptions
应该从哪里来?我想这是在您的脚本中某个位置的前面设置的。如果没有其他信息,我将认为它是正确且有意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句