废话不多说了,这是我的源代码:
<script>
$(function(){
var num = document.getElementsByName("question_id[]").length;
for (b=0;b<num ;b++ )
{
var a = document.getElementsByName("answer_id["+b+"][]").length + 1;
$("#add_exam_question_answer"+b.toString()).click(function(){
if(a >= 1) {
$("#add_exam_answer"+b+"").append('<div><label><div align="right">答案选项'+a+'<?php echo ($i+1);?>:</div></label><input name="exam_answer[]" type="text" size="100" class="text" value=""> 分数:<input name="exam_point[]" type="text" size="2" class="text" value=""><input name="answer_id[]" type="hidden" value="">-<a href="#" id="del-test" class="lj">删除</a><br/></div>');
a++;
}
});
$('#del-test').live('click',function(){
$(this).parent().remove();
a--;
});
}
});
</script><?php
$a = 0;
while ($exam_row = $dbmain->fetch_array($exam_result))
{
?>
<label><div align="right"><b> <?php echo ($a+1);?>. 考试题目:</b></div></label><textarea name="exam_content[]" style="padding:3px; width:83%; margin-bottom:5px;"><?php echo($exam_row['content']);?></textarea>-<a onclick="return confirm('删除题目会将题目下的答案一齐删除。你确定删除吗?')" href="?do=delete_question&exam_question_id=<?php echo ($exam_row['exam_question_id']);?>" class="lj">删除</a><br/>
<div align="left" id="add_exam_answer<?php echo($a);?>">
<?php
$answer_array = get_exam_answerinfo($exam_row['exam_question_id']);//接收二维数组
for ($i=0;$i<count($answer_array);$i++)
{
?>
<label><div align="right">答案选项<?php echo ($i+1);?>:</div></label><input name="exam_answer[<?php echo($a);?>][]" type="text" size="100" class="text" value="<?php echo ($answer_array[$i]['exam_answer']);?>"> 分数:<input name="exam_point[<?php echo($a);?>][]" type="text" size="2" class="text" value="<?php echo ($answer_array[$i]['exam_point']);?>"><input name="answer_id[<?php echo($a);?>][]" type="hidden" value="">-<a href="?do=delete_answer&id=<?php echo ($answer_array[$i]['id']);?>" class="lj">删除</a><br/>
<?php
}
?> </div>
<label></label><a id="add_exam_question_answer<?php echo ($a);?>" href="#" class="lj"><b>增加答案选项</b></a><br/>
<div style="height:15px;"><input name="question_id[]" type="hidden" value="" /></div>
<?php
$a = $a + 1;
}
?>为何红色部分的代码接收不到绿色部分代码的ID?求高人指点。最好能贴出源代码给以指示
<script>
$(function(){
var num = document.getElementsByName("question_id[]").length;
for (b=0;b<num ;b++ )
{
var a = document.getElementsByName("answer_id["+b+"][]").length + 1;
$("#add_exam_question_answer"+b.toString()).click(function(){
if(a >= 1) {
$("#add_exam_answer"+b+"").append('<div><label><div align="right">答案选项'+a+'<?php echo ($i+1);?>:</div></label><input name="exam_answer[]" type="text" size="100" class="text" value=""> 分数:<input name="exam_point[]" type="text" size="2" class="text" value=""><input name="answer_id[]" type="hidden" value="">-<a href="#" id="del-test" class="lj">删除</a><br/></div>');
a++;
}
});
$('#del-test').live('click',function(){
$(this).parent().remove();
a--;
});
}
});
</script><?php
$a = 0;
while ($exam_row = $dbmain->fetch_array($exam_result))
{
?>
<label><div align="right"><b> <?php echo ($a+1);?>. 考试题目:</b></div></label><textarea name="exam_content[]" style="padding:3px; width:83%; margin-bottom:5px;"><?php echo($exam_row['content']);?></textarea>-<a onclick="return confirm('删除题目会将题目下的答案一齐删除。你确定删除吗?')" href="?do=delete_question&exam_question_id=<?php echo ($exam_row['exam_question_id']);?>" class="lj">删除</a><br/>
<div align="left" id="add_exam_answer<?php echo($a);?>">
<?php
$answer_array = get_exam_answerinfo($exam_row['exam_question_id']);//接收二维数组
for ($i=0;$i<count($answer_array);$i++)
{
?>
<label><div align="right">答案选项<?php echo ($i+1);?>:</div></label><input name="exam_answer[<?php echo($a);?>][]" type="text" size="100" class="text" value="<?php echo ($answer_array[$i]['exam_answer']);?>"> 分数:<input name="exam_point[<?php echo($a);?>][]" type="text" size="2" class="text" value="<?php echo ($answer_array[$i]['exam_point']);?>"><input name="answer_id[<?php echo($a);?>][]" type="hidden" value="">-<a href="?do=delete_answer&id=<?php echo ($answer_array[$i]['id']);?>" class="lj">删除</a><br/>
<?php
}
?> </div>
<label></label><a id="add_exam_question_answer<?php echo ($a);?>" href="#" class="lj"><b>增加答案选项</b></a><br/>
<div style="height:15px;"><input name="question_id[]" type="hidden" value="" /></div>
<?php
$a = $a + 1;
}
?>为何红色部分的代码接收不到绿色部分代码的ID?求高人指点。最好能贴出源代码给以指示
<script>
$(function(){
$("#add_exam_question_answer"+b.toString()).click(function(){
if(a >= 1) {
$("#add_exam_answer"+b+"").append('这是要追加的内容!');
a++;
}
});
}
});
</script>
<?php
for ($i=0;$i<count($answer_array);$i++) //$answer_array是一个不确定元素个数的数组
{
?>
<div align="left" id="add_exam_answer<?php echo($i);?>"></div>
<a id="add_exam_question_answer<?php echo ($i);?>" href="#" class="lj"><b>增加答案选项</b></a>
<?php
}
?>
$("#add_exam_question_answer"+b.toString()).click(function(){
alert("#add_exam_question_answer"+b.toString()); //刚添加的
弹出的都是相同的值,b 的值是完全一样的,没有遍历。