最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jquery:change事件不触发问题的解决办法

来源:动视网 责编:小采 时间:2020-11-27 20:18:30
文档

jquery:change事件不触发问题的解决办法

jquery:change事件不触发问题的解决办法:jquery change事件不触发的问题先定义2个input,目的是把input1的值复制到input2<input name="input1" /> <input name="input2" />代码如下$(":input[name='input1&#
推荐度:
导读jquery:change事件不触发问题的解决办法:jquery change事件不触发的问题先定义2个input,目的是把input1的值复制到input2<input name="input1" /> <input name="input2" />代码如下$(":input[name='input1&#


jquery change事件不触发的问题
先定义2个input,目的是把input1的值复制到input2

<input name="input1" />
<input name="input2" />

代码如下

$(":input[name='input1']").bind('change focus blur', function() {
$(":input[name='input2']").val($(this).val());
});

jquery 的change不触发,
不是因为代码不对,是因为input1是jquery直接赋值的,

$(":input[name='input1']").val('AAAAAA');

这样就触发不了,
临时的解决方法是,

$(":input[name='input1']").focus();
$(":input[name='input1']").val('AAAAAA');
$(":input[name='input1']").blur();

==========================================
求更好方法!!!!!或者怎么解决.................

===================================================

附上完整代码.........暂时都没有解决问题

$(function() {
$(":input[name='input1']").bind('change focus blur', function() {
$(":input[name='input2']").val($(this).val());
});
});
var setvalue = function() {
$(":input[name='input1']").val('AAAAAA');
}
<input name="input1" />
<input name="input2" />
<a href="javascript:;" onclick="setvalue();">赋值测试</a>

====================================================

已测试 没有问题

$(function(){
 
 $(":input[name='bbb']").val('aAAAAAAAA');
 
 $(":input[name='aaa']").bind("change focus blur",function(){
 
 alert($(this).val());
 
 $(":input[name='bbb']").val($(this).val());
 
 });
 
})

请看问题的补充中的完整代码,你这个测试也复制不了值

input1 的值是jquery 直接赋值,根据你的逻辑,两个的值是一样的,那么就在赋值的同时给input2也赋值就行了

这是代码简化了,实际项目中因为不能去改动第一个模块,所以只能通过监听来解决

你说你不能改动第一个模块,那你这个代码算怎么回事啊

$(":input[name='input1']").focus();
$(":input[name='input1']").val('AAAAAA');//这一段相当于你说的第一个模块,既然你能上下加上两行代码,那为何不直接
$(":input[name='input2']").val('AAAAAA');
$(":input[name='input1']").blur();

能不纠结这个问题么?
这个是临时解决方案,临时的,要改回去的,
不然我来问这个问题干嘛!!! 直接赋值谁不会

$("input").first().keyup(function(){
$(this).next().val($(this).val());
});

根本就捕获不到事件,因为根本不会在input1上按键盘,
input1里的值,是通过ajax加载的,现在想通过事件复制到input2,而不是在ajax代码里

只需change

$("input").first().change(function(){ $(this).next().val($(this).val());});
// ajax改值
$("input").first().change()

文档

jquery:change事件不触发问题的解决办法

jquery:change事件不触发问题的解决办法:jquery change事件不触发的问题先定义2个input,目的是把input1的值复制到input2<input name="input1" /> <input name="input2" />代码如下$(":input[name='input1&#
推荐度:
标签: 方法 事件 问题
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top