如何打开和关闭正确的答案按钮?

时间:2012-07-07 22:27:09

标签: php javascript jquery

我在下面有一个功能,如果用户点击“添加”按钮,它会触发以下功能:

function addwindow(gridValues) { 

    if($(plusbutton_clicked).attr('id')=='mainPlusbutton') { 

        $('#btn'+gridValues).trigger('click');


        } 

    $.modal.close(); 
    return false;
} 

现在,下面是能够显示答案按钮A-Z,“真”或“假”,“是”或“否”的代码:

Html代码:

<?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>

Javascript代码:

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).
}

下面是打开和关闭答案按钮的代码:

function btnclick(btn)
{
    var context = $(btn).parents('#optionAndAnswer');

    if ($(btn).hasClass("answerBtnsOn")) {
        $(btn).removeClass("answerBtnsOn").addClass("answerBtnsOff");
        return false;
    }

    if ($(btn).hasClass("answerBtnsOff")) {
        $(btn).removeClass("answerBtnsOff").addClass("answerBtnsOn");
        return false;
    }
}

现在我有一个名为“Answers”的表列,该列下的每一行都包含Answer(s)和它自己的“Add”按钮。我的问题是,如果让我们在其中一行中包含答案A B D F并且用户通过点击“添加”按钮添加此行,那么我希望答案按钮A B D and F能够被转动打开和关闭其他答案按钮。另一个例子是如果答案是True,那么我希望打开True答案按钮并关闭其他答案按钮。

那么我需要在function addwindow(gridValues)中放置什么,以便在点击“添加”按钮时,它会打开并关闭正确的答案按钮?

1 个答案:

答案 0 :(得分:0)

以这种方式传递id,它可以让我使用selenium进行调试:

$('input').click(function() {
    var id = $(this).attr('id');
    btnclick(id);
}

我刚刚在html标记上删除了onclick行为。

希望它有效。