2014-09-19 57 views
0

我需要检测是否所有元素的所有形式的变化,jQuery的格式转换为文本区域,无线电

我试图

$('input, select').change(function(){ 
    alert(' work! '); 
}); 

$('#formID').change(function(){ 
    alert(' work too !'); 
}); 

$('textarea, input[type=radio]').change(function(){ 
    alert(' Wont fire ?? '); 
}); 

如何检测的文本区域,单选按钮,复选框改变?

+0

工作正常 - http://jsfiddle.net/arunpjohny/1dhqnxag/1/ – 2014-09-19 02:24:24

+0

看起来像我有一些其他jquery防止这种变化 – Peter 2014-09-19 02:31:35

+0

可能...但由于处理程序是附加到元素本身的唯一原因因为它不会触发是否存在对[event.stopImmediatePropagation()](http://api.jquery.com/event.stopimmediatepropagation/)的调用,或者您是在处理程序注册代码之后以动态方式创建这些元素(在这种情况下看看[事件代表团](http://learn.jquery.com/events/event-delegation/)) – 2014-09-19 02:34:12

回答

0
$('#textareaID').bind('input propertychange', function() { 

     $("#yourBtnID").hide(); 

     if(this.value.length){ 
     $("#yourBtnID").show(); 
     } 
}); 

被复制形式here

和单选按钮变化

$("input[name=someRadioGroup]:radio").change(function() { 
0

1.分配唯一的ID(例如:ID = “sampleName”),以文本区域和通用名称,以必要的单选按钮(例如:name =“sampleName”)

2.使用以下jquery stuff,

$('#sampleName').change(function(){ 
    alert(' work!'); 
}); 

$("input[name=sampleName]:radio").change(function(){ 
    alert(' work!'); 
});