0

我有一个带有单选按钮组的屏幕。客户不希望它们看起来像单选按钮,所以我设置了标签的样式并隐藏了实际的单选按钮。我有 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,我不确定如何获得它;有没有办法可以在第一个函数的更改事件中获取它并将其传递给第二个函数?

4

2 回答 2

1

具有输入的数据属性(在本例中为单选按钮),当您调用函数时,只需将数据属性的值传递给函数。您可以拥有每个单选按钮独有的数据属性,我认为这应该可以解决您的问题。

于 2013-04-03T14:35:39.380 回答
0

我创建了一个 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);
    }
}
 
于 2013-04-03T16:37:42.863 回答