如何更改使用jquery ajax选择的下拉选项
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>
if is $('#race').val('malay'); onclick 时表单会变成马来语,但 if 是 $('#race').val($('#inner_3',resp).html()); onclick后下拉列表不会改变。我必须使用 $('#race').val($('#inner_3',resp).html());因为该值是动态的。
Jquery code
$( 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;
});
});
my form
<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>
if is $('#race').val('malay'); the form will change to Malay when onclick, but if is $('#race').val($('#inner_3',resp).html()); the dropdown list will not change after onclick. I have to use $('#race').val($('#inner_3',resp).html()); since the value is dynamic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为您正在做:
后台实际发生的事情是:
如果
#inner_3
位于返回的 HTML 的顶层,则find()
(docs)方法不会帮助您,因为它只查看顶级元素的后代。您需要使用
filter()
(docs)< /i> 相反。另外,请记住,您可能需要使用
jQuery.trim()
< support>(docs) 删除 HTML 中的任何空格(如果有)。Because you're doing:
What is actually happening in the background is:
If
#inner_3
is at the top level of the HTML that was returned, thefind()
(docs) method won't help you since it only looks at descendants of the top level elements.You'll need to use
filter()
(docs) instead.Also, keep in mind that you may need to use
jQuery.trim()
(docs) to trim any whitespace from the HTML if there is any.