因此,我在此处和其他地方查看了如何在单击单选按钮时使用 jQuery 执行函数。我可以让示例代码独立工作,就像在 CodePen 中一样,但是当集成到我的项目中时它不起作用。
我没有使用直接的单选按钮,而是使用引导化按钮。表格的相关部分最终看起来像这样:
<div class="btn-group" data-toggle="buttons" role="group" id="floors-div">
<label class="btn btn-default" name="floors-label">
<input type="radio" name="floors" id="1" value="1" autocomplete="off">1</label>
<label class="btn btn-default" name="floors-label">
<input type="radio" name="floors" id="2" value="2" autocomplete="off">2</label>
<label class="btn btn-default" name="floors-label">
<input type="radio" name="floors" id="3" value="3" autocomplete="off">3</label>
<label class="btn btn-default" name="floors-label">
<input type="radio" name="floors" id="4" value="4" autocomplete="off">4</label>
</div>
Run Code Online (Sandbox Code Playgroud)
单击按钮时,我可以使用以下方法执行操作:
$("input[name='floors']").parent().click(function() {
...snip...
var buttonVal = $("input[type='radio'][name='floors']:checked").val();
Run Code Online (Sandbox Code Playgroud)
但是这个值是错误的。它返回先前选择的按钮而不是当前按钮的值。如果我只是做这样的事情:
$("input[name='floors']").change(function() {
...snip...
Run Code Online (Sandbox Code Playgroud)
单击按钮时没有任何反应。
有什么建议?
编辑:我已经在您的帮助下缩小了导致问题的范围。事实证明,我所做的 CodePen 和生产之间的主要区别在于包含了 Bootstrap 的 JS。显然,他们正在覆盖与该.change方法相混淆的东西。问题CodePen转载这里。
编辑 2:如果重要的话,我所有的 JS$(document).ready(function(){ …