如果上一个无线电组改变,则运行功

时间:2016-04-17 13:07:18

标签: jquery

我有一个未知的单选按钮组,如果选中此组的单选按钮,我想运行一个功能。

jQuery中是否有类似last-of-type的内容适用于以下场景?

    <div class="variant--group">
      <div class="variant--option">
        <input type="radio" class="radio" name="radio1">
      </div>
      <div class="variant--option">
        <input type="radio" class="radio" name="radio1">
      </div>
    </div>

    <div class="variant--group">
      <div class="variant--option">
        <input type="radio" class="radio" name="radio2">
      </div>
      <div class="variant--option">
        <input type="radio" class="radio" name="radio2">
      </div>
    </div>

    ...

2 个答案:

答案 0 :(得分:0)

你可以这样做的一种方法是......

$(".variant--group").last().find(".radio").on("change", function() {
   //stuff here
});

基本上,获取组,然后选择最后一组,然后在其中找到无线电并等待它们发生变化。

https://jsfiddle.net/omzgoo3k/

您也可以选择$(".variant--group:last .radio").on(...

答案 1 :(得分:0)

jQuery V1.9中添加了last-of-type-selector,而jQuery V1.0添加了:last selector选择器。

语法:

<强>:radio.radio:最后

表示:选择带收音机的最后一个收音机。

因此,可能的解决方案是:

&#13;
&#13;
$(function () {
  $('.variant--group').find(':radio.radio:last').on('change', function(e) {
    $('body').append('<p>Last radio changed</p>');
  })
});
&#13;
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>


<div class="variant--group">
    <div class="variant--option">
        <input type="radio" class="radio" name="radio1">
    </div>
    <div class="variant--option">
        <input type="radio" class="radio" name="radio1">
    </div>
</div>

<div class="variant--group">
    <div class="variant--option">
        <input type="radio" class="radio" name="radio2">
    </div>
    <div class="variant--option">
        <input type="radio" class="radio" name="radio2">
    </div>
</div>
&#13;
&#13;
&#13;