1

这似乎适用于 Firefox 和 chrome,但不适用于 Internet Explorer。我需要这个才能在 Internet Explorer 中工作。

IE 附加的是开始标签,而不是内部文本和结束标签。提前致谢。

JS:

function go() {
   $.post("ajax-select.html", "", function(resp){
      $('#dropdown').append($('#newOptions option', resp));
   }
}

HTML:

<body>
   <select id="dropdown">
   </select>
   <input type="submit" value="go" onclick="go();" />
</body>

ajax-select.html:

<div>
   <div id="newOptions">
      <option value="opOne">one</option>
      <option value="opTwo">two</option>
   </div>
</div>
4

2 回答 2

1

你应该试试

$('#dropdown').html($('#newOptions option', resp));

也看看这个答案

于 2012-06-13T17:24:18.570 回答
1

你的回答不正确。返回的实际 HTML 是:

<div>
  <div id="newOptions">
    <div value="opOne">one</div>
    <div value="opTwo">two</div>
  </div>
</div>

纠正它,一切正常:

<div>
  <select id="newOptions">
    <option value="opOne">one</option>
    <option value="opTwo">two</option>
  </select>
</div>

使用上述标记(选项正确嵌套在选择元素中),您可以继续使用以下内容:

$(function(){
    $("input[value='go']").on("click", function(){
        $.post("ajax-select.html", function(resp){
            $(resp).find("option").appendTo("#dropdown");
        });
    });
});
于 2012-06-13T17:25:24.040 回答