0

以下にボタンが含まれ、各ボタンに独自の非表示の入力が含まれているコードがあります。

<?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); 


}
4

1 に答える 1

0

これを試して

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);
于 2012-10-04T21:00:33.733 に答える