如何更改使用jquery ajax选择的下拉选项

如何更改使用jquery ajax选择的下拉选项,jquery,ajax,drop-down-menu,Jquery,Ajax,Drop Down Menu,Jquery代码 $( function() { $( '#copy' ).click(function() { var enid = $("#enid").text(); $('#copy').html('Loading...'); $.ajax( { url : 'http://localhost/crm/customers/copy_enquirer',

Jquery代码

 $( function() {

        $( '#copy' ).click(function() {
            var enid = $("#enid").text(); 
            $('#copy').html('Loading...');
        $.ajax( {
                        url : 'http://localhost/crm/customers/copy_enquirer',
                        type : 'post',
                        data : "enid="+enid,
                        success : function( resp ) {
                                     $('#race').val($('#inner_3',resp).html());
                        }
            });
               return false;
        });
    });
我的表格

 <select name="race" id="race">
<option value="chinese">Chinese</option>
<option value="indian">Indian</option>
<option value="malay">Malay</option>
<option value="other">Other</option>
</select>  

中国人
印度的
马来语
另外
如果是$('种族').val('马来');当onclick时,表单将更改为马来语,但如果是$('#race').val($('#inner_3',resp.html());单击后,下拉列表不会更改。我必须使用$('#race').val($('#inner_3',resp.html());因为该值是动态的。

因为您正在执行以下操作:

$('#inner_3',resp).html();
背景中实际发生的情况是:

$(resp).find('#inner_3').html();
如果
#internal_3
位于返回的HTML的顶层,该方法将不会帮助您,因为它只查看顶层元素的后代

您将需要使用


此外,请记住,如果HTML中存在任何空白,您可能需要使用来修剪这些空白。

$(“#race”).val($(resp).find(“#inner#u 3”).HTML();它不起作用。我将.find改为.filter现在看起来像$('#race').val($(resp).filter('#inner_3').html());单击下拉菜单时,将不显示任何内容。我不确定jquery.trim()应该放在哪里。告诉我哪里错了。我只是js的初学者。@bravo:我不得不猜测这个问题,因为你没有提供你正在使用的
resp
的值。如果你能提供,我会帮上更多的忙。首先,尝试
$.trim($(resp).find('#internal_3').html())
(与
过滤器的版本相同)。@bravo:不客气。如果有帮助的话,请记住点击这个答案左边的大复选标记。
$('#race').val( $(resp).find('#inner_3').html() );