2012-06-03 14 views
0

我下面那里当谈到点击“添加”按钮,当添加内容到一个单一的textarea的if语句工作的功能的一个补充对于单textarea的代码,它的加号按钮:内容不所附的textareas

<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post"> 

<div id="detailsBlock"> 
<table id="question"> 
<tr> 
    <td rowspan="3">Question:</td> 
    <td rowspan="3"> 
     <textarea class="questionTextArea" id="mainTextarea" rows="5" cols="40" name="questionText"></textarea> 
    </td> 
</tr> 
</table> 

<table id="plus" align="center"> 
<tr> 
<th> 
<a onclick="return plusbutton();"> 
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/> 
</a> 
<span id="plussignmsg">(Click Plus Sign to look <br/> up Previous Questions)</span> 
</th> 
</tr> 
</table> 
</div> 
</form> 

的问题是,当涉及到下面的附加文字区域之一内添加内容else语句不工作。我想要的是,如果用户点击其中一个附加textarea旁边的加号按钮,并通过点击“添加”按钮添加一个内容,属于与被点击的加号按钮相同行的textarea将会添加内容。为了做到这一点,我需要改变什么?

下面是界河示出了文本域和加上按钮的代码,其被附加:

var plusbutton_clicked; 

function insertQuestion(form) { 


var $tbody = $('#qandatbl > tbody'); 
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>"); 
var $plusrow = $("<td class='plusrow'></td>"); 
var $question = $("<td class='question'></td>"); 


$('.questionTextArea').each(function() { 

var $this = $(this); 
var $questionText = $("<textarea class='textAreaQuestion'></textarea>").attr('name',$this.attr('name')+"[]") 
.attr('value',$this.val()); 

$question.append($questionText); 

}); 

$('.plusimage').each(function() { 

var $this = $(this); 
var $plusimagerow = $("<a onclick='return plusbutton();'><img src='Images/plussign.jpg' width='30' height='30' alt='Look Up Previous Question' class='imageplus'/></a>").attr('name',$this.attr('name')+"[]") 
.attr('value',$this.val()); 

$plusrow.append($plusimagerow); 

}); 

$tr.append($plusrow); 
$tr.append($question); 
$tbody.append($tr);      

} 

可以查看应用here。请按照以下步骤使用应用程序:

  1. 点击“添加问题”按钮,然后将添加一个textarea在一个新的行。
  2. 单击刚刚添加的表格行中的“绿色加号”按钮,将出现模式窗口。
  3. 在模态窗口,它会显示在“AAA”的搜索栏,在搜索栏类型,然后单击“搜索”按钮
  4. 结果会显示您的搜索,点击“添加”按钮,添加一行。您将发现模式窗口已关闭,但“问题”字段中的内容未添加到您点击绿色加按钮的行内的textarea内

如果您已经完成了top textarea一个在水平线上方),那么它确实起作用,它只是不适用于你刚添加的textarea

回答

0

你没有传递你的plusbutton()函数期望的元素作为参数,这就是为什么函数可以'找到兄弟元素来获取其内容。尝试:

<a onclick='return plusbutton(this);'>