我无法在附加行中显示“True”、“False”、“Yes”和“No”按钮。
我在这里有一个申请:Application
请按照以下步骤使用应用程序:
<强>1。当您打开应用程序时,您将看到一个绿色的加号按钮,单击 在此按钮上,将出现一个模式窗口,其中包含搜索栏。
<强>2。在搜索栏中输入以下“orange”(不带双 引号),然后提交搜索。
<强>3。将出现与搜索中的术语与该术语相匹配的行 在“问题”栏下。您将在“答案”下看到 列,答案是“True”。请点击“添加”按钮 添加行中的内容。
<强>4。您将看到在右侧,它显示 “True”和“False”按钮,并且“True”按钮突出显示 绿色的。这很好。
但是下面是问题发生的地方:
<强>1。单击“添加问题”按钮,这将附加一行 下面并将复制上面的控件。
<强>2。现在,在您刚刚附加的行中,您将看到另一个绿色 加号按钮,单击此按钮并再次执行步骤 2 和 3。
您可以看到在附加行中,它根本不显示“True”或“False”按钮。所以我的问题是,在附加行中,当我从模式窗口添加问题时,如果答案是“True”或“False”,它为什么不显示“True”或“False”按钮?使用"is"和“否”按钮也会发生这种情况。
整个代码显示在 jsfiddle 中(打开模态窗口的函数位于 fiddle 的 javascript 部分的底部):
代码:
function plusbutton(plus_id) {
// Set global info
plusbutton_clicked = plus_id;
// Display an external page using an iframe
var src = "previousquestions.php";
$.modal('<iframe src="' + src + '" style="border:0;width:100%;height:100%;">');
return false;
}
function addwindow(numberAnswer, gridValues, btn) {
if (btn == "True" || btn == "False" || btn == "Yes" || btn == "No") {
var answers = '#answer' + btn;
var answersrow = '#answer' + btn + 'Row';
} else {
var answers = $.map(btn.split(''), function(chr) {
return "#answer" + chr;
}).join(', ');
var answersrow = $.map(btn.split(''), function(chr) {
return "#answer" + chr + "Row";
}).join(', ');
}
var myNumbers = {};
myNumbers["True or False"] = "True or False";
myNumbers["Yes or No"] = "Yes or No";
gridValues = myNumbers[gridValues];
if ($(plusbutton_clicked).attr('id') == 'mainPlusbutton') {
if (gridValues == "True or False") {
$('#btn' + 'TrueorFalse').trigger('click');
}
else if (gridValues == "Yes or No") {
$('#btn' + 'YesorNo').trigger('click');
}
$('#answerSection').find('.answerBtnsOn').trigger('click');
$(answers).trigger('click');
} else {
if (gridValues == "True or False") {
$(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues).parent().append($('.optionTypeTbl'));
$('#btn' + 'TrueorFalse').trigger('click');
}
else if (gridValues == "Yes or No") {
$(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues).parent().append($('.optionTypeTbl'));
$('#btn' + 'YesorNo').trigger('click');
}
}
$('#btn' + gridValues).trigger('click');
$(plusbutton_clicked).closest('tr').find('.answerBtnsOn').trigger('click');
$(plusbutton_clicked).closest('tr').find(answersrow).trigger('click');
$.modal.close();
return false;
}
顶部加号按钮的 HTML:
<table id="question">
<tr>
<td colspan="2">
<a onclick="return plusbutton();">
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/>
</a>
<span id="plussignmsg">(Click Plus Sign to look up Previous Questions)</span>
</td>
</tr>
</table>
下面是 jquery 代码,它为每行附加一个加号按钮:
$('.plusimage').each( function() {
var $this = $(this);
var $plusimagerow = $("<a onclick='return plusbutton(this);'><img src='Images/plussign.jpg' width='30' height='30' alt='Look Up Previous Question' class='imageplus'/></a>").attr('name',$this.attr('name')+"[]")
.attr('value',$this.val());
$plusrow.append($plusimagerow);
});
最佳答案
每个按钮的内联样式定义都存在问题(<input class='answerBtnsRow answers' type='button' style='**display:none**' ...>
每当您应用CSS类answerBtnsOn时,都没有指定将显示更改回内联、 block 等的指令。您可以向answerBtnsOn类添加一行,但使用! important 指令,因此它将覆盖 jQuery 代码定义的内联样式: display:inline !important
。
另一种方法是利用 jQuery(例如: $('#element').css('display', '');
)更改或删除 jQuery 脚本中的内联样式,其中它将按钮设置为不可见。
我肯定会更新 answrBtnsOn 和 answerBtnsOff 类,避免任何内联样式定义。
希望这会有所帮助......如果您有任何问题或疑虑,请告诉我们。
关于javascript - 答案按钮(正确、错误、是和否)未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12737495/