Bootstrap按钮 - 无线电值未设置

时间:2014-04-08 09:09:54

标签: javascript php jquery html twitter-bootstrap

我正在使用twitter bootstrap按钮收音机,我在php表单上有一个问题,看起来像这样。

enter image description here

代码的HTML部分如下

<div class="control-group" style="background-color: #d9d9d9;">
    <label style="font-size: 10px; width: 250px; padding-left: 10px" class="control-label"
           for="fname"><?php _e('Does your employer contribute extra super above the 9.25% guarantee?'); ?>
    </label>

    <div class="controls">
        <div data-toggle="buttons-radio" class="btn-group alignment"
             style="padding-top: 10px; padding-left: 10px">
            <button id="yes" class="btn btn-primary btn-mini <?php if ($budget->getFactFind('employer_contribution') == "Yes"){?> active <?php } ?> " type="button" value="yes"
                    onclick="showEmployerDiv(this.id)">Yes
            </button>
            <button id="no" class="btn btn-primary btn-mini <?php if ($budget->getFactFind('employer_contribution') == "No"){?> active <?php } ?> " type="button" value="no"
                    onclick="showEmployerDiv(this.id)">No
            </button>
        </div>
        <input type="hidden" id="alignment" value="" name="employer_contribution"/>

    </div>
</div>

和扮演检查选择哪个选项的角色的JS如下

$(".alignment .btn").click(function () {
    // whenever a button is clicked, set the hidden helper employer controbution
    $("#alignment").val($(this).text());
});

我能够获得在表单提交时选择了哪个选项的值,并且我还能够在用户将来返回时将该选项标记为已选中,以向他们显示他们之前选择的选项。

每次提交表单时都会有一个更新MySQL中信息的UPDATE查询。请注意,这不是表单上的唯一字段。

我遇到的问题是,如果用户已经提供了答案(是)并稍后再回来,但这次他将答案选为是并单击提交按钮它在这里JS无法看到什么选择了选项,之前提供的答案是被任何内容覆盖(空值)。

如果我单击已经回答的是值,JS就可以工作,但如果我保持原样,那就不行了,现在我知道我在JS中使用.click,我需要帮助知道除了使用除了.click来解决这个问题。

我真的很感激任何帮助

2 个答案:

答案 0 :(得分:0)

如何检查用户之前是否点击了该按钮?

如果你用php检查答案,你可以这样做:

让我们假设您在变量$ choice ....中持有用户的选择。

 <input type="hidden" id="alignment" value="<?php echo $choice ?>" name="employer_contribution"/>

答案 1 :(得分:0)

最后设法使用$(document).ready(function ()来实现这一点,这样我的.click函数也不会受到干扰,现在如果用户已经提供了答案,那么它的值也会被提交,如果是用户想要改变.click将要处理的答案。

$(document).ready(function () {
    document.getElementById('alignment').value='<?php echo $budget->getFactFind('employer_contribution')?>' ;
});