我正在使用twitter bootstrap按钮收音机,我在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());
});
我能够获得在表单提交时选择了哪个选项的值,并且我还能够在用户将来返回时将该选项标记为已选中,以向他们显示他们之前选择的选项。
每次提交表单时都会有一个更新MySQL中信息的UPDATE查询。请注意,这不是表单上的唯一字段。
我遇到的问题是,如果用户已经提供了答案(是)并稍后再回来,但这次他将答案选为是并单击提交按钮它在这里JS无法看到什么选择了选项,之前提供的答案是被任何内容覆盖(空值)。
如果我单击已经回答的是值,JS就可以工作,但如果我保持原样,那就不行了,现在我知道我在JS中使用.click
,我需要帮助知道除了使用除了.click来解决这个问题。
我真的很感激任何帮助
答案 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')?>' ;
});