私が抱えている問題のレイアウトを確認できるようにするためのアプリケーションがここにあります。アプリケーションを開いたときに[質問の追加]ボタンをクリックすると、コンテンツを示す3つの列を持つテーブル行が表示されます。
最初の列は[オプション]テキストボックス、2番目は数値テキストボックス、3番目は2つのボタンを示しています。問題は、3つの列が並んで表示されていることです。
代わりに、3列ではなく、3行のテーブル行内に表示されている必要があります。
したがって、現在、テーブルの行ごとにこれが表示されています。
Option Textbox | Number Textbox | 2 Buttons
代わりに、テーブル行内に配置する必要があります。
Option Textbox
Number Textbox
2 Buttons
だから私が言ったように、私は3つの列ではなく、行内に3つの行が必要です。しかし、以下のコードでこれをどのように達成できますか?
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
var $noofanswers = $("<tr><td class='noofanswers'></td></tr>");
var $options = $("<tr><td class='option'></td></tr>");
var $answer = $("<tr><td class='answer'></td></tr>");
var $extratr = $("<tr></tr>");
/*Below is an example of a function that worked before I included the <tr> tag
but stopped working after including the <tr> tags */
$('.numberAnswerTxt', context).each(function() {
var $this = $(this);
var $noofanswersText = '';
if ($questionType == 'True or False' || $questionType == 'Yes or No'){
$noofanswersText = $("<span class='naRow string' style='display: block;'>Only 1 Answer</span><input type='text' class='numberAnswerTxtRow answertxt' style='display: none;' onkeyup='numberKeyUp(this)' onkeypress='return isNumberKey(event)' onChange='getButtons()'>").attr('name', $this.attr('name')).attr('value', $this.val());
}else{
$noofanswersText = $("<span class='naRow string' style='display: none;'>Only 1 Answer</span><input type='text' class='numberAnswerTxtRow answertxt' style='display: block;' onkeyup='numberKeyUp(this)' onkeypress='return isNumberKey(event)' onChange='getButtons()'>").attr('name', $this.attr('name')).attr('value', $this.val());
}
$noofanswers.append($noofanswersText);
});
$tr.append($extratr);
$extratr.append($options);
$extratr.append($noofanswers);
$extratr.append($answer);
$tbody.append($tr);