2011-06-28 72 views
0

我這裏有jQuery的觀看某些領域的某些價值觀

<input type="radio" name="group1">1 
<input type="radio" name="group1">2 
<input type="radio" name="group1">3 
<br> 
<input type="text" name="text1"> 
<br> 
<input type="radio" name="group2">1 
<input type="radio" name="group2">2 
<input type="radio" name="group2">3 
<br> 
<input disabled type="submit"> 

一些測試代碼,請你能告訴我,如果有看多領域,這樣,如果他們的價值觀的變化,我可以讓一個按鈕的方式..

因此,總之,而不是有3個.change規則看着對方......我不能做一塊代碼,觀看所有3,如果值等於特定的東西,它使能提交按鈕?

感謝

+0

請說清楚「如果值等於特定的東西,它使能提交button_」。它是一個固定值,它們都是一個值,每個控件的值不同,甚至取決於當前項目。 ? –

+0

您可能想要使用適當的標記,屬性,元素終止,這個標記是要求瀏覽器做出一系列假設。 – Marc

回答

1

如果我正確理解烏爾問題,那就是:

組類(以下JS代碼):

<input type="radio" class="g1-1" name="group1">1 
<input type="radio" class="g1-2" name="group1">2 
<input type="radio" class="g1-3" name="group1">3 
<br> 
<input type="text" class="text" name="text1"> 
<br> 
<input type="radio" class="g2-1" name="group2">1 
<input type="radio" class="g2-2" name="group2">2 
<input type="radio" class="g2-3" name="group2">3 
<br> 
<input disabled type="submit"> 

JS:

$(function(){ 
    $('input').click(function(){ 
     if (($('.g1-2').is(':checked')) && ($('.g2-1').is(':checked')) && ($('.text').val()=="ok")) 
     { 
      // event 
     } 
    }); 
}); 
0

聽起來像是http://knockoutjs.com/候選人 - 您關聯DOM元素與客戶端視圖模型。當數據模型的狀態改變時,UI自動更新。

+0

儘可能多的我喜歡淘汰對於這種情況可能有點矯枉過正......?無論哪種方式,每個人都應該學習淘汰賽。 – bdparrish

+0

如果提供的場景是唯一的用例,似乎有點矯枉過正。 –

2
$(':radio').change(function() { 
    if ($(this).attr('name') == 'group2') 
     $(':submit').removeAttr('disabled'); 
}); 
+0

即使用戶更改了值並返回到原來的值,這也會被解僱,這不是他所要求的。 –

+0

有一些嚴重的假設正在進行。他所要求的只是在價值變化時能夠做些事情,他沒有給出有關工作流程或規範的規範。也許我應該編寫僞代碼,所以你們沒有真正地把它寫出來。 – bdparrish

2

您可以使用click事件處理程序。對於例如爲:

$(":radio[name='group1'],:radio[name='group2'],:radio[name='group3']").live("click",function(){ 
    //do something 
}); 
+0

這一個爲我做到了:-)謝謝 – Lee

0

如果你的jQuery選擇一個以上的元素相匹配,當你綁定一個回調函數的事件時,該功能將被綁定到所有元素選擇匹配。

實施例:

$('input[type="radio"]').change(function() { 
    $('body').append('changed'); 
}); 

參見工作小提琴here