我正在使用 twitter bootstrap 按钮 radio ,我对如下所示的 php 表单有疑问。
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());
});
我能够获取在表单提交时选择的选项的值,并且我还能够在用户将来返回时将该选项标记为已选择,以向他们展示他们之前选择的选项。
每次提交表单时,都会有一个 UPDATE 查询来更新 MySQL 中的信息。请注意,这不是表单上的唯一字段。
我遇到的问题是,如果假设用户已经提供了答案(是)并稍后返回,但这次他将答案选择为"is"并单击提交按钮,那么 JS 无法看到什么选择选项,之前提供的答案"is"将被任何内容(空值)覆盖。
如果我点击已经回答的 yes 值,JS 就会起作用,但如果我保持原样,则不会,现在我知道我在 JS 中使用 .click
并且我需要帮助来了解其他内容使用 .click 以外的其他方法来解决此问题。
我将非常感谢任何帮助
最佳答案
如何检查用户之前是否点击过该按钮?
如果你用 php 检查答案,你可以这样做:
假设您将用户的选择保存在变量 $choice ....
<input type="hidden" id="alignment" value="<?php echo $choice ?>" name="employer_contribution"/>
关于javascript - Bootstrap 按钮-单选值未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932516/