我在这里有一个应用程序,用户可以在其中选择他们的选项和答案。向您解释问题的最佳方式是您是否使用应用程序本身,以便您可以看到正在发生的事情。请按照以下步骤申请。
- 步骤1:当你打开应用程序时,你会看到“打开网格”链接,点击它并选择一个选项类型,选择一个选项后,它会在底部显示答案按钮。例如,如果您选择的选项是“5”,它将显示 5 个答案按钮“A - E”,如果选择的选项是 8,它将显示 8 个答案按钮“AH”。
现在这很好。但我遇到的问题是用户是否想添加以前的选项。请看以下步骤:
- 第二步:刷新页面
- 第三步:你会在左侧看到一个绿色的加号按钮,点击它,这将打开一个模态窗口。
- 第 4 步:在搜索框中输入“AAA”,然后单击“提交”按钮,它将显示数据库中的行。
- 步骤 5:请通过单击“添加”按钮选择一行,模式窗口将关闭,如果您查看右侧的答案和选项控件,您可以看到选项类型文本框和答案数量文本框出现,但没有出现“应答”按钮。
所以我的问题是如何在用户单击“添加”按钮后显示“回答”按钮?
以下是控制单击“添加”按钮后发生的情况的函数:
function addwindow(numberAnswer,gridValues) {
if(window.console) console.log();
if($(plusbutton_clicked).attr('id')=='mainPlusbutton') {
$('#mainNumberAnswerTxt').val(numberAnswer);
$('#mainGridTxt').val(gridValues);
} else {
$(plusbutton_clicked).closest('tr').find('input.numberAnswerTxtRow').val(numberAnswer);
$(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues);
}
$.modal.close();
return false;
}
下面是存储答案按钮的代码(我需要调用什么才能显示答案按钮):
<table id="optionAndAnswer" class="optionAndAnswer">
...
<?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++;
}
?>
</tr>
<tr>
<td>
<input class="answerBtns answers" name="answerTrueName" id="answerTrue" type="button" value="True" onclick="btnclick(this);"/>
<input class="answerBtns answers" name="answerFalseName" id="answerFalse" type="button" value="False" onclick="btnclick(this);"/>
<input class="answerBtns answers" name="answerYesName" id="answerYes" type="button" value="Yes" onclick="btnclick(this);"/>
<input class="answerBtns answers" name="answerNoName" id="answerNo" type="button" value="No" onclick="btnclick(this);"/>
</td>
</tr>
</table>
...
</table>
更新:
下面是从网格中选择选项后导入答案按钮的代码:
$('.gridBtns').on('click', function()
{
appendAnswers(this);
});
function appendAnswers(t){
var clickedNumber = t.value;
$(t).closest('.option').siblings('.numberAnswer').find('.answertxt').show();
$(t).closest('.option').siblings('.numberAnswer').find('.string').hide();
$(t).closest('.option').siblings('.answer').find('.answers').each(function(index) {
if (!isNaN(clickedNumber) && index < clickedNumber) {
$(t).show();
$(t).closest('.option').siblings('.numberAnswer').find('.string').hide();
// show but don't change the value
$(t).closest('.option').siblings('.numberAnswer').find('.answertxt').show();
} else {
$(t).hide();
$(t).removeClass('answerBtnsOn');
$(t).addClass('answerBtnsOff');
}
var $this = $(t);
var context = $this.parents('.optionAndAnswer');
console.log($this);
});
prevButton = clickedNumber;
$(t).closest('.option').siblings('.noofanswers').find('.string').hide();
$(t).closest('.option').siblings('.noofanswers').find('.answertxt').show();
getButtons();
};
});
function getButtons()
{
var i;
if (initClick == 0) {
for (i = 65; i <= 90; i++) { // iterate over character codes for A to Z
$("#answer" + String.fromCharCode(i)).removeClass("answerBtnsOn").addClass("answerBtnsOff");
}
initClick = 1;
}
// code above makes sure all buttons start off with class answerBtnsOff, (so all button are white).
}