Javascript jQuery$.change在一个地方工作,但在另一个地方不工作
基本上,如果某个特定DIV中的任何文本字段发生了更改,我希望从另一个DIV中清空HTML HTML:Javascript jQuery$.change在一个地方工作,但在另一个地方不工作,javascript,jquery,html,Javascript,Jquery,Html,基本上,如果某个特定DIV中的任何文本字段发生了更改,我希望从另一个DIV中清空HTML HTML: #收货人版本运行良好,#发货人版本运行不正常,这是毫无意义的,因为它们基本相同 我的控制台中也没有任何错误 编辑:我有另一个部门叫shipper。(是的,我是个白痴。) 给每个人一个教训:Ctrl+F可以是你最好的朋友。我认为你的问题在于carriersClear()。但这是可行的: $('input[type="text"]', '#shipper').on('change', functio
#收货人
版本运行良好,#发货人
版本运行不正常,这是毫无意义的,因为它们基本相同
我的控制台中也没有任何错误
编辑:我有另一个部门叫shipper。(是的,我是个白痴。)
给每个人一个教训:Ctrl+F可以是你最好的朋友。我认为你的问题在于
carriersClear()
。但这是可行的:
$('input[type="text"]', '#shipper').on('change', function(){
console.log("I changed.");
carriersClear('Shipper Details Changed');
//No need to return false.
});
$('input[type="text"]', '#consignee').on('change', function(){
console.log("I changed.");
carriersClear('Consignee Details Changed');
});
这也将有助于:
//Here we assign only one event handler to #consignee.
$('#consignee').on('change', 'input[type="text"]', function(e){
console.log("I changed.");
carriersClear('Consignee Details Changed');
});
我建议您关注事件处理程序,以便更好地理解
这里有一个请尝试清除浏览器缓存,然后再试一次……他们正在使用我刚刚制作的小提琴
$('input[type=“text”]”,'#shipper')。关于('change',function(){…})
method@DavidScherer嗯,是的,因为它们完成了相同的事情,但执行方式不同。jQuery将不得不解析“#ident tag[attr=“val”]”
,这样它就更容易知道需要用$(“tag[attr=“val”]”,“#ident”)之类的东西做什么了。
。同时,$('tag[attr=“val”]”,“#ident')
与$('#ident')相同。find('tag[attr=“val”]”)
是我更喜欢使用的。所有carriersClear()的作用是(当我为测试而取消对它的注释以查看清除了哪些载体时)提醒传递给它的消息,然后它执行$('#carriers').html(“”);正如我所说,它适用于“收货人”部门,但不适用于“发货人”部门。您使用的是什么浏览器?我用最新的Chrome和Firefox测试了答案中的代码。我使用的是FF 19。“发货人”div仍然不起作用。我发布的小提琴在你的浏览器中起作用了吗?我在文档的其他地方有另一个“发货人”div。
$('input[type="text"]', '#shipper').on('change', function(){
console.log("I changed.");
carriersClear('Shipper Details Changed');
//No need to return false.
});
$('input[type="text"]', '#consignee').on('change', function(){
console.log("I changed.");
carriersClear('Consignee Details Changed');
});
//Here we assign only one event handler to #consignee.
$('#consignee').on('change', 'input[type="text"]', function(e){
console.log("I changed.");
carriersClear('Consignee Details Changed');
});