我正在使用下面的代码在html中添加一个添加按钮,以便在单击添加按钮时向页面添加新的文本框和单选按钮。添加的文本框的名称是输入名称加上添加的数字(点击次数),以便在我想将输入数据用于不同的查询时将输入数据区分为不同的变量。我使用此输入(输入为数字)和单选按钮,以确定是否应根据选中的单选按钮查询指定数字之上或之下的某些数据。
<input id="btnAdd" type="button" value="Add" />
<br />
<div id="TextBoxContainer">
</div>
<br />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var click_number = 0;
$("#btnAdd").bind("click", function () {
var input = $("<label>input <textarea rows='1' name='input_"+ click_number +"'><?php echo $_POST['input_"+ click_number +"']; ?></textarea></label> ");
var above_below = $("<input type='radio' name='abovebelow_"+ click_number +"' id='above_"+ click_number +"' value='Above' <?php if(isset($_POST['abovebelow_"+ click_number +"']) && $_POST['abovebelow_"+ click_number +"'] == 'Above') echo \"checked='checked'\"; ?>><label for='above_"+ click_number +"'>Above</label><input type='radio' name='abovebelow_"+ click_number +"' id='below_"+ click_number +"' value='Below' <?php if(isset($_POST['abovebelow_"+ click_number +"']) && $_POST['abovebelow_"+ click_number +"'] == 'Below') echo \"checked='checked'\"; ?>><label for='below_"+ click_number +"'>Below</label><br/> ");
hgcBio.appendTo('#TextBoxContainer');
above_below.appendTo('#TextBoxContainer');
click_number++;
});
</script>
目前,html在jQuery中不使用它时可以工作,但是在这种jQuery格式中,单选按钮不起作用。我已将错误缩小到上面/下面变量中的php代码:
<?php if(isset($_POST['abovebelow_"+ click_number +"']) && $_POST['abovebelow_"+ click_number +"'] == 'Above') echo \"checked='checked'\"; ?>
因为当我删除这部分时,我不再收到错误消息。错误消息是&#34;解析错误:解析错误,期待'&#34;标识符(T_STRING)&#34;&#39;&#34;在那条线上。由于我在jQuery的其他部分(输入变量)中使用了php,我猜测问题是if语句?还有另一种方法可以在这里使用if语句吗?或者可能采用另一种方式来做到这一点?
答案 0 :(得分:1)
是否像
一样简单<?php
if(isset($_POST['abovebelow_". click_number ."'])
&& $_POST['abovebelow_". click_number ."'] == 'Above')
echo "\"checked='checked'\"";
?>
(即你在打印的字符串之前和之后忘记了双重qoutes。字符串的连接也应该在php中使用.
而不是+
,如评论中所述