2010-05-25 68 views
0

当其他javascript函数改变选中的状态时,我需要触发change事件。 简化代码如下。我无法从MyOtherFunc()调用MyFunc()。如何使用JavaScript更改检查状态时触发/调用事件?

的jQuery:

$(document).ready(function(){ 
    $('input:radio[name=rdName]').change(function(){ 
    MyFunc(); 
    }); 
}); 
function MyFunc(){ 
    //do stuff 
} 
function MyOtherFunc(){ 
    $('input:radio[name=rdName]')[0].checked = true; 
    // Was unable to have it change based on a value 
} 

单选按钮:

<input type="radio" name="rdName" value="1"> 
<input type="radio" name="rdName" value="2"> 
<input type="radio" name="rdName" value="3"> 

回答

2
$('input:radio[name=rdName]').change(); 
+1

+1在重读该问题后删除了我的答案,并意识到这是专门针对某个事件发起的。 – user113716 2010-05-25 13:32:34

+0

这是诀窍! – Gutzofter 2010-05-25 14:58:24

5
$(document).ready(function(){ 
    $('input:radio[name=rdName]').change(function(){ 
    MyFunc(); 
    }); 
}); 
function MyFunc(){ 
    //do stuff 
} 
function MyOtherFunc(){ 
    $('input:radio[name=rdName]').attr('checked', 'checked').trigger('change'); 

} 
1

试试这个

$(document).ready(function(){ 
    $('input:radio[name=rdName]').bind('customChange',function(){ 
    MyFunc(); 
    }); 
}); 
function MyFunc(){ 
    alert("it's work") 
} 
function MyOtherFunc(){ 
    $('input:radio[name=rdName]')[0].checked = true; 
    $('input:radio[name=rdName]').trigger('customChange'); 
} 

如果你有一些公关可以使用的范围.trigger(eventType, extraParameters)

相关问题