尝试使用jQuery将选择的单选按钮的值传递给另一个函数

时间:2013-04-03 14:31:41

标签: jquery forms radio-button

我有一个带有单选按钮组的屏幕。客户端不希望它们看起来像单选按钮,所以我设置了标签样式并隐藏了实际的单选按钮。我有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?
    }
 }

在“启用”下一个按钮之前检查以确保收听广播。但是在这一点上,我需要知道选择哪个无线电的价值,而且我不知道如何在没有再次检查dom的情况下获得它。是不是我可以在第一个函数的更改事件中获取它并将其传递给第二个函数?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

检查出来: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);
    }
}