Jquery 在下面的代码中添加隐藏输入的最佳方法是什么
我在下面有一段代码,其中包含按钮,每个按钮都包含自己的隐藏输入:Jquery 在下面的代码中添加隐藏输入的最佳方法是什么,jquery,Jquery,我在下面有一段代码,其中包含按钮,每个按钮都包含自己的隐藏输入: <?php $a = range("A","Z"); ?> <table id="answerSection"> <tr> <?php $i = 1; foreach($a as $key => $val){ if($i%7 == 1) echo"<tr><td>"; echo"<input type=\"button\" oncli
<?php
$a = range("A","Z");
?>
<table id="answerSection">
<tr>
<?php
$i = 1;
foreach($a as $key => $val){
if($i%7 == 1) echo"<tr><td>";
echo"<input type=\"button\" onclick=\"btnclick(this);\" value=\"$val\" id=\"answer".$val."\" name=\"answer".$val."Name\" class=\"answerBtns answers answerBtnsOff\">";
echo"<input type=\"hidden\" value=\"1\" id=\"hiddenAnswer".$val."\" name=\"hidden".$val."\" class=\"onButtons\">";
if($i%7 == 0) echo"</td></tr>";
$i++;
}
?>
</tr>
但我想做的是在将该控件追加到表行时使用jquery复制该控件。我已经完成了90%,但我的问题是,在下面的代码中,为每个按钮添加隐藏输入的最佳方式是什么:
function insertQuestion(form) {
var context = $('#answerSection');
var currenttotal = context.find('.answerBtnsOn').length;
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'>");
var $td = $("<td class='extratd'>");
var $answer = $("<div class='answer'>3. Answer:<br/></div>");
var $this, i=0, $row, $cell;
$('#optionAndAnswer .answers').each(function() {
$this = $(this);
if(i%7 == 0) {
$row = $("<tr/>").appendTo($answer);
$cell = $("<td/>").appendTo($row);
}
var $newBtn = $("<input class='answerBtnsRow answers' type='button' style='display:%s;' onclick='btnclick(this);' />".replace('%s',$this.is(':visible')?'inline-block':'none')).attr('name', $this.attr('name')).attr('value', $this.val()).attr('class', $this.attr('class')).attr('id', $this.attr('id')+'Row');
$newBtn.appendTo($cell);
i++;
});
$tr.append($td);
$td.append($answer);
$tbody.append($tr);
}
函数insertQuestion(form){
变量上下文=$(“#应答部分”);
var currenttotal=context.find('.answerBtnsOn').length;
变量$tbody=$(“#qanadbl>tbody”);
var$tr=$(“”);
var$td=$(“”);
var$answer=$(“3.答案:
);
var$this,i=0,$row,$cell;
$('#optionandswer.answers')。每个(函数(){
$this=$(this);
如果(i%7==0){
$row=$(“”)。追加到($answer);
$cell=$(“”)。附加到($row);
}
var$newBtn=$(“”.replace('%s',$this.is(':visible')?'inline-block':'none')).attr('name',$this.attr('name')).attr('value',$this.val()).attr('class',$this.attr('class')).attr('id',$this.attr('id')+'Row');
$newBtn.appendTo($cell);
i++;
});
$tr.append($td);
$td.append($answer);
$tbody.append($tr);
}
试试这个
var elem = $(this)
var $newBtn =
$(document.createElement('input'), {
type : 'button',
onclick : 'btnclick(this);',
name : elem.attr('name'),
value : elem.val(),
class : elem.attr('class'),
id : elem.attr('id') + 'Row'
},
css : {
display : elem.is('visible') ? 'inline-block' : 'none'
}
);
$newBtn.appendTo($cell);
这看起来干净多了,但我如何用这个按钮输入添加隐藏输入,每个按钮都有自己的隐藏输入,就像我问题中的顶部代码一样,但我认为这不会给我与代码顶部相同的隐藏输入控制。让我发布整个代码,这样你就可以看到我正在尝试做什么了。我已经编辑了包含整个代码的代码。我试图做的是将按钮从顶部追加到每个表行,但我希望按钮中的相同控件显示在追加的行中。现在,如果您查看编辑过的代码,我已经为按钮完成了,但是如何为隐藏的输入完成呢?每个按钮都有自己的隐藏输入