Javascript 用于Innerhtml更新的Ajax原型到Jquery的转换
我第一次尝试使用jquery而不是prototype。我有一个表格,当你在我的下拉列表中更改国家时,我想调用另一个脚本,它将显示适当的州/省列表。在原型中,我只会使用:Javascript 用于Innerhtml更新的Ajax原型到Jquery的转换,javascript,jquery,ajax,prototype,innerhtml,Javascript,Jquery,Ajax,Prototype,Innerhtml,我第一次尝试使用jquery而不是prototype。我有一个表格,当你在我的下拉列表中更改国家时,我想调用另一个脚本,它将显示适当的州/省列表。在原型中,我只会使用: function getstates(form) { document.getElementById("stateresult").innerHTML="<img src='images/ajaxshippingload.gif' border='0'> Processing..."; var checki
function getstates(form) {
document.getElementById("stateresult").innerHTML="<img src='images/ajaxshippingload.gif' border='0'> Processing...";
var checkingurl="shopgetstates.asp";
var pars = 'country=' + form.country.value + '';
var url = checkingurl + '?' + pars;
var target = 'stateresult';
var myAjax = new Ajax.Updater(target, checkingurl, {method: 'post',parameters: pars});
}
但考虑到我只需要抓取1下拉列表中的选定值,我认为这太过分了。有没有更简单的方法来完成我想要做的事情?1)
stateresult
似乎是一个id属性而不是class属性。您应该在成功回调中使用#statesult
而不是.statesult
。2) 在这种情况下,您不需要使用.find()
,因为idstateresult
在文档中无论如何都必须是唯一的。3) 请求的数据
参数在这些请求中不同。在原型示例中,它只是国家值,在jQuery示例中,您正在序列化整个formOk草率编码,我可以进行这些更正。我不希望使用serialize,而是只获取每个请求的单个值,有没有办法做到这一点?如果是,怎么做?谢谢你迄今为止的帮助。比如:data:'country='+form.country.value
我的朋友,你太棒了,谢谢!!
function getstates() {
$.ajax({type:'POST', url: 'shopgetstates.asp', data:$('#ListingForm').serialize(), success: function(response) {
$('#ListingForm').find('.stateresult').html(response);
}});
return false;