Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
为什么我的内容在jQuery/Ajax中被覆盖而不是替换?_Jquery_Ajax - Fatal编程技术网

为什么我的内容在jQuery/Ajax中被覆盖而不是替换?

为什么我的内容在jQuery/Ajax中被覆盖而不是替换?,jquery,ajax,Jquery,Ajax,我在ajax中使用jquery将一些内容传递到数据库,但我的问题与数据库无关 我在一个名为#clientscontainer的id中有输入字段。当我在该容器中单击“保存”时,它会自动正确刷新该容器$(#clientscocontainer').html(html) #clientscontainer $('#clientscontainer').html(html); 问题是,其中一些输入字段(如描述和标题)在另一个div中有实例,我希望在单击保存时刷新这些实例。另一个ID是:$('div#'+

我在ajax中使用jquery将一些内容传递到数据库,但我的问题与数据库无关

我在一个名为#clientscontainer的id中有输入字段。当我在该容器中单击“保存”时,它会自动正确刷新该容器$(#clientscocontainer').html(html)

#clientscontainer $('#clientscontainer').html(html); 问题是,其中一些输入字段(如描述和标题)在另一个div中有实例,我希望在单击保存时刷新这些实例。另一个ID是:$('div#'+clientID')

$('div#' + clientID')
当我执行$('div#'+clientID').html(html);它刷新其中clientscontainer的内容,而不仅仅是我想要更新的变量

$(blurb).html(html); 当我试图传递变量$(blurb.html(html)时;它更新了blurb,但只在div#clientID div中显示该变量。。。而我只想把它换掉

$(blurb).html(html); 下面是函数的AJAX部分

...//variables// dataToLoad = 'clientID=' + clientID + '&changeClient=yes' + '&project=' + descriptionSubTitle + '&campaign=' + descriptionTitle + '&label=' + descriptionLabel + '&descriptionedit=' + description + '&blurbedit=' + blurb; $.ajax({ type: 'post', url: ('/clients/controller.php'), datatype: 'html', data: dataToLoad, success: function(html){ dataToLoad = 'clientID=' + clientID + '&loadclient=yes&isCMS=' + editCMS; $.ajax({ type: 'post', url: '/clients/controller.php', datatype: 'html', data: dataToLoad, async: false, success: function(html){ //$('#clientscontainer').focus(function() {reInitialize()}); //$('#clientscontainer').ajaxComplete(function(){reInitialize()}); $('#clientscontainer').html(html); $('div#' + clientID).each(function(){ $('#editbutton').click(function() {EditEverything()}); } , error: function() { alert('An error occured! 222'); } });}, error: function() { alert('An error occured! 394'); } }); …//变量// dataToLoad='clientID='+clientID+'&changeClient=yes'+'&project='+ descriptionSubTitle+'&campaign='+descriptionTitle+'&label='+ descriptionLabel+'&descriptionedit='+description+'&blurbedit='+blurb; $.ajax({ 键入:“post”, url:('/clients/controller.php'), 数据类型:“html”, 数据:dataToLoad, 成功:函数(html){ dataToLoad='clientID='+clientID+'&loadclient=yes&isCMS='+editCMS; $.ajax({ 键入:“post”, url:“/clients/controller.php”, 数据类型:“html”, 数据:dataToLoad, async:false, 成功:函数(html){ //$('#clientscontainer').focus(函数(){reInitialize()}); //$('#clientscontainer').ajaxComplete(函数(){reInitialize()}); $('#clientscocontainer').html(html); $('div#'+clientID).each(function(){ $('#editbutton')。单击(函数(){EditEverything()}); } , 错误:函数(){ 警报(“发生错误!222”); } });}, 错误:函数(){ 警报(“发生错误!394”); } });
有什么建议吗?

您可以为回调中传回的数据生成一个带有DOM的jquery对象

$(html) 
然后以主容器外部的两个输入为目标,并用于替换整个元素

$("div#").replaceWith($(html).find("div#"));
$("clientID").replaceWith($(html).find("clientID"));

这只是一个建议,但是
$('div#'+clientID').html(html);
可能会导致一些问题

尝试将其替换为

$('div#' + clientID').each(function(){ 
  $(this).html(variableOrArrayElement) 
});