私はそれがAZからのボタンを表示するphpコードを持っています:
<table id="optionAndAnswer" class="optionAndAnswer">
<tr class="answer">
<td>3. Answer</td>
<td>
<?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\">";
if($i%7 == 0) echo"</td></tr>";
$i++;
}
?>
...
私がやろうとしているのは、jqueryで上記のコードのテンプレートを作成して、ユーザーがこれらのボタンをブロックに追加したい場合に、jqueryを使用してこれらのボタンをテンプレートとまったく同じようにブロックに追加できるようにすることです。
以下はjqueryコードです:
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'));
$newBtn.appendTo($cell);
i++;
});
これで問題なく動作しますが、問題が1つあります。phpコードを見ると、各ボタンには独自のIDがありますが、私のjqueryコードでは、各ボタンに独自のIDはありません。私のjqueryコードでは、各ボタンにphpコードの対応するボタンと同じIDを持たせたいと思っていますが、違いはjqueryボタンのIDを「Row」で終わらせたいということだけです。たとえば、phpのボタンFのidがである場合#answerF
、jqueryのボタンFにidを持たせたいと思います#answerFRow
。
私の質問は、これは可能ですか?このコードをjqueryコードに入れると、phpコードからボタンIDを取得できますか?
.attr('id', $this.attr('id'))
そして、最後に「行」という単語を挿入するにはどうすればよいですか?