JQuery单击元素名称

JQuery单击元素名称,jquery,Jquery,我正在使用以下引导按钮组: <div class="btn-group btn-group-sm" data-toggle="buttons"> <label class="btn btn-default active"> <input name="act_con" value="No" checked="" booking_id="22" type="radio"><i class="fa fa-times"></i

我正在使用以下引导按钮组:

<div class="btn-group btn-group-sm" data-toggle="buttons">
    <label class="btn btn-default active">
        <input name="act_con" value="No" checked="" booking_id="22" type="radio"><i class="fa fa-times"></i>
    </label>
    <label class="btn btn-default">
        <input name="act_con" value="Tel" booking_id="22" type="radio"><i class="fa fa-phone"></i>
    </label>
    <label class="btn btn-default">
        <input name="act_con" value="Email" booking_id="22" type="radio"><i class="fa fa-envelope-o"></i>
    </label>
</div>
然而,这只适用于第一个按钮,我猜是因为三个按钮具有相同的名称,但它们必须是单选按钮

这是否仅适用于独立命名的元素

我还尝试向输入添加一个类,并将JQ更改为单击该类,但这也不起作用

有没有一种方法可以使这项工作,这样我就可以使事情发生时,任何按钮被点击


尝试将
最近的标签作为绑定事件的目标,因为
单选按钮用它包装

$('input[name="act_con"]').closest('label.btn').click(function () {
    alert('hey');
});

尝试将
最近的标签
作为绑定事件的目标,因为
单选
按钮被它包裹

$('input[name="act_con"]').closest('label.btn').click(function () {
    alert('hey');
});

尝试将
最近的标签
作为绑定事件的目标,因为
单选
按钮被它包裹

$('input[name="act_con"]').closest('label.btn').click(function () {
    alert('hey');
});

尝试将
最近的标签
作为绑定事件的目标,因为
单选
按钮被它包裹

$('input[name="act_con"]').closest('label.btn').click(function () {
    alert('hey');
});

试试这个:您正在单击按钮图像,它是代码中的标签元素,所以将单击事件绑定到标签。这里的标签有
class=“btn”

最好在
$(function(){…
内部调用jquery,以确保它在DOM准备好之后执行

$(function(){
  $('.btn').click(function(){
    alert('hey');
  });
});

尝试以下操作:您正在单击按钮图像,它是代码中的标签元素,因此将单击事件绑定到标签。这里标签有
class=“btn”

最好在
$(function(){…
内部调用jquery,以确保它在DOM准备好之后执行

$(function(){
  $('.btn').click(function(){
    alert('hey');
  });
});

尝试以下操作:您正在单击按钮图像,它是代码中的标签元素,因此将单击事件绑定到标签。这里标签有
class=“btn”

最好在
$(function(){…
内部调用jquery,以确保它在DOM准备好之后执行

$(function(){
  $('.btn').click(function(){
    alert('hey');
  });
});

尝试以下操作:您正在单击按钮图像,它是代码中的标签元素,因此将单击事件绑定到标签。这里标签有
class=“btn”

最好在
$(function(){…
内部调用jquery,以确保它在DOM准备好之后执行

$(function(){
  $('.btn').click(function(){
    alert('hey');
  });
});

在实际点击标签时使用以下内容:


在这里,查找父标签,如果点击了它,则触发。

在实际点击标签时使用以下命令:


在这里,查找父标签,如果点击了它,则触发。

在实际点击标签时使用以下命令:


在这里,查找父标签,如果点击了它,则触发。

在实际点击标签时使用以下命令:


在这里,查找父标签,如果点击它,则触发。

EDIT是否使用引导程序?我注意到引导程序中经常出现的字体很棒的图标。如果是这样,样式会将您的输入设置为低于标签的z索引,并且不会收到单击事件

我已将您的代码添加到JSFIDLE,您的单击处理程序似乎工作正常。您应该尝试检查错误日志,因为可能存在其他问题。或者您的浏览器配置为忽略重复的警报消息。如果您曾经看到弹出窗口并选中复选框,它将这样做(请参阅下图)

您还应该考虑使用事件委托,而不是将单击处理程序附加到每个输入。这是更有效的,通常是JavaScript中更好的实践,在JQuery中很容易实现。更新后的代码看起来如下:

$('input[name="act_con"]').click(function(){
    alert('hey');
});
$(function() {
  $('.btn-group').on('click', 'input[name="act_con"]',function(){
    alert('hey');
  });
});

EDIT还可以在dom就绪处理程序上的jquery中包装依赖于dom的代码,以避免在选择可能尚未加载的元素时出现问题。

EDIT是否使用bootstrap?我注意到bootstrap中经常出现的字体图标。如果是这样,样式会将您的输入设置为低于标签和标签的z索引他们将不会收到单击事件

我已将您的代码添加到JSFIDLE,您的单击处理程序似乎工作正常。您应该尝试检查错误日志,因为可能存在其他问题。或者您的浏览器配置为忽略重复的警报消息。如果您曾经看到弹出窗口并选中复选框,它将这样做(请参阅下图)

您还应该考虑使用事件委托,而不是将单击处理程序附加到每个输入。这是更有效的,通常是JavaScript中更好的实践,在JQuery中很容易实现。更新后的代码看起来如下:

$('input[name="act_con"]').click(function(){
    alert('hey');
});
$(function() {
  $('.btn-group').on('click', 'input[name="act_con"]',function(){
    alert('hey');
  });
});

EDIT还可以在dom就绪处理程序上的jquery中包装依赖于dom的代码,以避免在选择可能尚未加载的元素时出现问题。

EDIT是否使用bootstrap?我注意到bootstrap中经常出现的字体图标。如果是这样,样式会将您的输入设置为低于标签和标签的z索引他们将不会收到单击事件

我已将您的代码添加到JSFIDLE,您的单击处理程序似乎工作正常。您应该尝试检查错误日志,因为可能存在其他问题。或者您的浏览器配置为忽略重复的警报消息。如果您曾经看到弹出窗口并选中复选框,它将这样做(请参阅下图)

您还应该考虑使用事件委托,而不是将单击处理程序附加到每个输入。这是更有效的,通常是JavaScript中更好的实践,在JQuery中很容易实现。更新后的代码看起来如下:

$('input[name="act_con"]').click(function(){
    alert('hey');
});
$(function() {
  $('.btn-group').on('click', 'input[name="act_con"]',function(){
    alert('hey');
  });
});

EDIT还将依赖于dom的代码包装在dom就绪处理程序的jquery中,以避免选择可能尚未加载的元素时出现问题。

EDIT是否使用引导?我注意到