javascript - 答案按钮(正确、错误、是和否)未出现

标签 javascript jquery html

我无法在附加行中显示“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 部分的底部):

http://jsfiddle.net/WZKrP/6/

代码:

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/

相关文章:

html - 有什么好的方法可以同时缩小 CSS/HTML 吗?

javascript - Angular .js : $sanitize fails on $injector:modulerr using exact code example from angular site

javascript - 为什么我收到错误 Missing ;声明之前

javascript - 采集字段中的 meteor 计算值

javascript - 如何将输入数据添加到react js列表中?

javascript - jquery多行文本问题

javascript - 使用javascript重新启动谷歌浏览器

javascript - 在动态加载的元素上使用 jQuery

javascript - wordpress 中的自定义菜单无法正常工作,谁能告诉我为什么?

javascript - 将 jQuery 转换为 Vanilla JS 问题