Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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在html中更新内容_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript JQuery在html中更新内容

Javascript JQuery在html中更新内容,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用jQueryAjax从PHP文件中获取数据 data = <option>Peter</option><option>Maria</option> data=PeterMaria 然后我想使用jquery将此数据放在第一个选项之后 <select> <option>Name</option> </select> 名称 我无法在select上使用html(),因为第一个选项将被删除

我使用jQueryAjax从PHP文件中获取数据

data = <option>Peter</option><option>Maria</option>
data=PeterMaria
然后我想使用jquery将此数据放在第一个选项之后

<select>
   <option>Name</option>
</select>

名称
我无法在select上使用html(),因为第一个选项将被删除。我可以使用什么jquery函数将它们放在第一个之后

编辑:我不能使用append,因为当我发出另一个请求时,数据为:

data = <option>Michael</option><option>Erik</option>
data=MichaelErik
彼得和玛丽亚仍将在选择名单中。我该怎么办?我已经试过了

<div id=addhere></div>


在第一个选项之后,然后使用html(),但它不起作用。奇怪的如何解决此问题?

编辑:在您更新后更改我的回答以回答您的问题

假设您通过AJAX返回以下内容:

data = "<option>Michael</option><option>Erik</option>";
html()将替换元素的innerHTML。
append()将把任何数据附加到innerHTML的末尾。

编辑:在更新后更改我的回答以回答您的问题

假设您通过AJAX返回以下内容:

data = "<option>Michael</option><option>Erik</option>";
html()将替换元素的innerHTML。
append()会将任何数据附加到innerHTML的末尾。

检查该函数

检查该函数

我不确定我是否完全理解这个问题,但请看一看可用于插入内容的函数
insertAfter可能是您正在寻找的工具。

我不确定自己是否完全理解这个问题,但请看一下,以了解可以用于插入内容的函数
insertAfter
可能就是您要查找的选项。

将原始选项保存在变量中,并将AJAX响应与原始选项一起追加

工作演示: (可通过编辑)

资料来源:

名称
var nameSelect=$('#name'),originalOptions=nameSelect.children();
函数handleajax响应(response){
nameSelect.children().remove().end().append(originalOptions.add(response));
}
$.get(“getNames.php”,handleAjaxResponse);

将原始选项保存在变量中,并将AJAX响应与原始选项一起追加

工作演示: (可通过编辑)

资料来源:

名称
var nameSelect=$('#name'),originalOptions=nameSelect.children();
函数handleajax响应(response){
nameSelect.children().remove().end().append(originalOptions.add(response));
}
$.get(“getNames.php”,handleAjaxResponse);

在添加新选项之前,我使用jquery remove函数删除第一个选项的所有同级项…效果很好…=)

在添加新选项之前,我使用jquery remove函数删除第一个选项的所有同级项…效果很好…=)

@fayer也许该花点时间处理jquery文档和更多地了解jQuery的强大功能,而不是让StackOverflow的人员一次一个问题地开发整个应用程序。它说使用remove可以删除元素。但你必须给它一个表达。那么,为什么他们不给我一个带有表达式的页面链接,这样我就可以使用它们,而不是让我搜索它……对于愤怒的评论,我感到抱歉……我编写代码太久了,已经失去了一点耐心:)@fayer,我能理解阅读文档的沮丧。我个人认为jQuery有些清晰,但你也可以看看Cody Lindey的书,jQuery启蒙。这是包装的例子。thx的提示。我要试试这本书@fayer也许是时候花一些高质量的时间在jQuery文档上,了解更多关于jQuery的功能,而不是让StackOverflow的人员一次只问一个问题来开发整个应用程序。有时我觉得文档不是那么好。它说使用remove可以删除元素。但你必须给它一个表达。那么,为什么他们不给我一个带有表达式的页面链接,这样我就可以使用它们,而不是让我搜索它……对于愤怒的评论,我感到抱歉……我编写代码太久了,已经失去了一点耐心:)@fayer,我能理解阅读文档的沮丧。我个人认为jQuery有些清晰,但你也可以看看Cody Lindey的书,jQuery启蒙。这是包装的例子。thx的提示。我要试试这本书!text()和innerhtml()之间有什么区别?我已经更新了问题,所以你的答案不再正确。所以我取消选中它:)text()和innerhtml()之间有什么区别?我已经更新了这个问题,所以你的答案不再正确。所以我取消了它:)
$("#divToAddTo").append(data);
<select id="name">
  <option>Name</option>
</select>
<script type="text/javascript">
  var nameSelect = $('#name'), originalOptions = nameSelect.children();
  
  function handleAjaxResponse(response) {
    nameSelect.children().remove().end().append(originalOptions.add(response));
  }

  $.get("getNames.php", handleAjaxResponse);
</script>