2010-07-02 55 views
0

我有2个无线电输入。如何在onchange事件上的选定值上处理jquery函数?JQuery:获取无线电值并执行不同的操作

<input value="radio_2way" name="IBE1$IBE_NurFlug1$flightIBE" id="IBE1_IBE_NurFlug1_radio_2way" checked="checked" type="radio">Hin- und Rückflug &nbsp;&nbsp;<input value="radio_1way" name="IBE1$IBE_NurFlug1$flightIBE" id="IBE1_IBE_NurFlug1_radio_1way" type="radio">Einfach 

如果选中的值是radio_1way,请执行function1,如果是radio_2way,请执行function2。

THX很多,问候

回答

0

更改事件仅附加在电台的

$(document).ready(function(){ 
    $('input[id^="IBE1_IBE_NurFlug1"]').change(function(e){ 
     var $changed = $(e.target); 
     alert($changed.val()); 
    }); 
}); 

检查的jsfiddle:http://jsfiddle.net/BUgRV/

0

尝试

$("input").click(function(){ 
      if($(this).attr('value') == 'radio_2way'){ 
       alert('2 way'); 
      }  
    }); 

更改上面的代码为您的需求。您需要将上面的代码放在$(document).ready()部分。

编辑:

正如指出的那样,你可能会需要使用$("input").change而不是click

0

我会使用基于名称的更改事件,然后找到所检查的按钮的值并将其关闭。请注意,正在更改的按钮将被选中,因此您可以获得值this。我最初担心他们可能是两个触发的变化事件(一个用于检查按钮,另一个用于未选中按钮)。然而,我测试的两个浏览器似乎是以一种理智的方式处理它,并且仅在被检查的按钮上生成更改事件。在Firefox和Safari中测试。

$(function() { 
    $('[name=IBE1$IBE_NurFlug1$flightIBE]').change(function() { 
     if ($(this).val() == 'radio_2way") { 
      ... 
     } 
     else { 
      ... 
     } 
    } 
}); 
+0

无需重复选择,event.target有一个DOMElement。 – Jamiec 2010-07-02 10:46:55

+0

@Jamiec - 是的,我意识到,我发布了导致事件的按钮将是检查单选按钮的按钮。我现在纠正了它。 – tvanfosson 2010-07-02 10:50:43

相关问题