Jquery监视某些值的某些字段

时间:2011-06-28 14:54:06

标签: javascript 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的代码,如果值等于特定的东西,它会启用提交按钮吗?

由于

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

您可以使用click事件处理程序。例如:

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

答案 2 :(得分: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
        }
    });
});

答案 3 :(得分:0)

听起来像是http://knockoutjs.com/的候选者 - 您将DOM元素与客户端视图模型相关联。当数据模型的状态发生变化时,UI会自动更新。

答案 4 :(得分:0)

如果你的jQuery选择器匹配多个元素,当你将一个回调函数绑定到一个事件时,该函数将绑定到所有选择器匹配的元素。

示例:

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

查看工作小提琴here