【问题标题】:Trying to pass value of radio button chosen to another function with jQuery尝试使用 jQuery 将选择的单选按钮的值传递给另一个函数
【发布时间】:2013-04-03 14:31:40
【问题描述】:

我有一个带有单选按钮组的屏幕。客户不希望它们看起来像单选按钮,所以我设置了标签的样式并隐藏了实际的单选按钮。我有 jquery 来“突出显示”选择的单选按钮,然后调用一个函数来处理用户的选择:

$(function() {
   $('input:radio').change(function(){
     $(this).parent().toggleClass('active', this.checked).siblings().removeClass('active');
     processStep1(this);
   });  
});

这部分工作正常,它调用了函数:

function processStep1(v) {
  if ($("input:radio[name='challenge-type']").is(":checked")) {
    $('#step1 .next').removeClass('disabled');
    // which of the challenge-type radios was selected?
    }
 }

检查以确保在“启用”下一个按钮之前检查了收音机。但是此时,我需要知道选择了哪个收音机的 VALUE,如果不第二次检查 dom,我不确定如何获得它;有没有办法可以在第一个函数的更改事件中获取它并将其传递给第二个函数?

【问题讨论】:

  • 好像可以使用函数processStep1的参数v来检查这个。

标签: jquery forms radio-button


【解决方案1】:

有一个输入的数据属性(在这种情况下是单选按钮),当你调用你的函数时,只需将数据属性的值传递给函数。您可以拥有数据属性 每个单选按钮都是独一无二的,我认为这应该可以解决您的问题。

【讨论】:

    【解决方案2】:

    我创建了一个 Fiddle 来展示一个类似代码的工作示例。此代码获取复选框的值并显示在警报中。

    看看这个:http://jsfiddle.net/Joqus/cJPzv/

     
    $(function() {
       $('input:radio').change(function(){
           $(this).parent().toggleClass('active', this.checked);
           $(this).parent().siblings().removeClass('active');
    
           processStep1(this);
       });
    });
    
    function processStep1(v) {
        if(v.checked)
        {
            alert('Value: ' + v.value);
        }
    }
     

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多