jquery change事件不触发的问题 10

jquerychange事件不触发的问题先定义2个input,目的是把input1的值复制到input2<inputname="input1"/><inputname="... 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>
====================================================
展开
 我来答
lee_zim
2014-01-08 · TA获得超过433个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:218万
展开全部
把bind改成live试试
追问
试了,没用
追答
既然input1的值也是jquery赋值的,为什么不同时将input2也直接赋值,何必要判断input1的变化再赋值2呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiading5014
2014-01-08 · TA获得超过298个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:53.8万
展开全部
$("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()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Kevin烟圈
2014-01-08 · TA获得超过408个赞
知道小有建树答主
回答量:488
采纳率:33%
帮助的人:316万
展开全部

已测试 没有问题

$(function(){

 $(":input[name='bbb']").val('aAAAAAAAA');

 $(":input[name='aaa']").bind("change focus blur",function(){

  alert($(this).val());

  $(":input[name='bbb']").val($(this).val());

 });

})
追问
请看问题的补充中的完整代码,你这个测试也复制不了值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c6551946
2014-01-08 · TA获得超过298个赞
知道小有建树答主
回答量:174
采纳率:50%
帮助的人:75.8万
展开全部
input1 的值是jquery 直接赋值,根据你的逻辑,两个的值是一样的,那么就在赋值的同时给input2也赋值就行了
更多追问追答
追问
这是代码简化了,实际项目中因为不能去改动第一个模块,所以只能通过监听来解决
追答

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

$(":input[name='input1']").focus();
$(":input[name='input1']").val('AAAAAA');//这一段相当于你说的第一个模块,既然你能上下加上两行代码,那为何不直接
$(":input[name='input2']").val('AAAAAA');
$(":input[name='input1']").blur();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式