Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery$.change在一个地方工作,但在另一个地方不工作_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery$.change在一个地方工作,但在另一个地方不工作

Javascript jQuery$.change在一个地方工作,但在另一个地方不工作,javascript,jquery,html,Javascript,Jquery,Html,基本上,如果某个特定DIV中的任何文本字段发生了更改,我希望从另一个DIV中清空HTML HTML: #收货人版本运行良好,#发货人版本运行不正常,这是毫无意义的,因为它们基本相同 我的控制台中也没有任何错误 编辑:我有另一个部门叫shipper。(是的,我是个白痴。) 给每个人一个教训:Ctrl+F可以是你最好的朋友。我认为你的问题在于carriersClear()。但这是可行的: $('input[type="text"]', '#shipper').on('change', functio

基本上,如果某个特定DIV中的任何文本字段发生了更改,我希望从另一个DIV中清空HTML

HTML:

#收货人
版本运行良好,
#发货人
版本运行不正常,这是毫无意义的,因为它们基本相同

我的控制台中也没有任何错误

编辑:我有另一个部门叫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');
});