表行导致内容添加不起作用
A table row is causing content adding to not work
>我在下面有一段代码,在将文本从模态窗口添加到文本区域时工作正常:
<script type="text/javascript">
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(this);'><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);
form.questionText.value = "";
$('.questionTextArea').val('');
}
function closewindow() {
$.modal.close();
return false;
}
$('.plusimage').live('click', function() {
plusbutton($(this));
});
function plusbutton(plus_id) {
// Set global info
plusbutton_clicked = plus_id;
// Display an external page using an iframe
var src = "previousquestions.php";
$.modal('<iframe src="' + src + '" style="border:0;width:100%;height:100%;">');
return false;
}
function addwindow(questionText) {
if(window.console) console.log();
if($(plusbutton_clicked).attr('id')=='mainPlusbutton') {
$('#mainTextarea').val(questionText);
} else {
$(plusbutton_clicked).parent('td').next('td.question').find('textarea.textAreaQuestion').val(questionText);
}
$.modal.close();
return false;
}
</script>
但问题是,如果我在下面包含我需要的这段代码function insertQuestion(form) {
,那么它会停止将文本添加到文本区域中,为什么要这样做?
var $qid = $("<td class='qid'>" + qnum + "</td>" );
...
$tr.append($qid);
$qid是每行的问题编号,因此每次添加一行时,它都会将问题编号加 1。
吹气是将文本区域从顶部附加到表格行中的 html 代码:
<table id="question">
<tr>
<th colspan="2">
Question Number <span class="questionNum">1</span>
<input type="hidden" class="num_questions" name="numQuestion" value="1">
</th>
</tr>
<tr>
<td rowspan="3">Question:</td>
<td rowspan="3">
<textarea class="questionTextArea" id="mainTextarea" rows="5" cols="40" name="questionText"></textarea>
</td>
</tr>
</table>
更新:
我已经包含了这两个应用程序的链接。一个有效但不包括$qid,另一个包括$qid但不起作用但我确实需要工作。请按照两个应用程序中的步骤进行操作,以便您可以自己测试并查看正在发生的事情:
应用1:没有$qid但工作。
应用2:包含$qid但不起作用:
针对这两个应用程序,请按照以下步骤操作:
- 单击"添加问题"按钮,然后在新行中添加文本区域。
- 单击您刚刚添加的表格行中的"绿色加号"按钮,将出现一个模态窗口。 在
- 模态窗口中,它显示一个搜索栏,在搜索栏中输入"AAA",然后单击"搜索"按钮
- 将出现您的搜索结果,单击"添加"按钮添加一行。您会发现模态窗口已关闭,但"问题"字段中的内容未添加到您单击绿色加号按钮的行内的文本区域中
尝试显式设置 td 值
var $qid = $("<td class='qid'></td>" ).text(qnum);
$tr.append($qid);
然后替换文本设置代码
$(plusbutton_clicked).parent('td').next('td.question').find('textarea.textAreaQuestion').val(questionText);
自
$(plusbutton_clicked).closest('tr').find('textarea.textAreaQuestion').val(questionText);
如果您尝试使用文本,您可以轻松尝试:
var $qid = $("<td class='qid'>"+ qnum + "</td>" );
$tr.append($qid);
或
$("<td class='qid'></td>" ).text('hello').appendTo($tr);
相关文章:
- Meteor-添加用户自定义字段的方法不起作用
- JS动态添加字段-删除按钮不起作用
- 添加/删除类淡入淡出不起作用
- 在Internet Explorer中,向所选内容添加选项不起作用
- 添加事件侦听器不起作用
- .hasClass 在 onclick 函数中不起作用,但删除和添加类函数可以
- 通过php添加到变量won'不起作用
- angular元素在通过ng类添加类时不起作用
- 我尝试将引导下拉按钮添加到 但下拉菜单不起作用.我该怎么做
- 在 Javascript 不起作用的情况下为数字添加逗号
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 在我的管理面板上添加更多不起作用的按钮
- 在 ajax 中添加跨源标头,不起作用
- 添加/删除类在 Chrome 中对我不起作用
- 具体化选择-不'动态添加选项时不起作用
- 在Javascript中动态添加列时,单击事件不起作用
- 双击已添加的选择选项不起作用
- Javascript添加不起作用
- 表行导致内容添加不起作用
- Javascript添加不起作用