如何更改使用jquery ajax选择的下拉选项
Jquery代码如何更改使用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',
$( 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() );