2010-07-02 53 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

相關問題