我有以下原型代码,我想将其更改为jQuery。
有人可以帮我吗?
在我看来,除了Ajax.Updater之外,所有其他代码都可以在jquery中使用。但我很可能错了。
提前致谢。
function jsUpdateCart(){
var parameter_string = '';
allNodes = document.getElementsByClassName("process");
for(i = 0; i < allNodes.length; i++) {
var tempid = allNodes[i].id;
var temp = new Array;
temp = tempid.split("_");
var real_id = temp[2];
var real_value = allNodes[i].value;
parameter_string += real_id +':'+real_value+',';
}
var params = 'ids='+parameter_string;
var ajax = new Ajax.Updater(
'ajax_msg','http://127.0.0.1/codeigniter_shopping/index.php/welcome/ajax_cart', {method:'post',parameters:params,onComplete:showMessage}
);
}
function showMessage(req){
$('ajax_msg').innerHTML = req.responseText;
location.reload(true);
}
function jsRemoveProduct(id){
var params = 'id='+id;
var ajax = new Ajax.Updater(
'ajax_msg','http://127.0.0.1/codeigniter_shopping/index.php/welcome/ajax_cart_remove', {method:'post',parameters:params,onComplete:showMessage}
);
}
答案 0 :(得分:3)
快速查看ajax
method上的jQuery文档,可以轻松将Ajax.Updater
调用转换为jQuery等效项:
$.ajax( {
type: 'post',
url: "<your_long_url>/ajax_cart",
data: params,
success: function( r ) {
$('#ajax_msg').html( r );
location.reload( true );
}
} );
答案 1 :(得分:0)
我可能错了,但在我看来,除了Ajax.Updater和$('ajax_msg'),你所有的代码都是纯粹的javascript。 你必须使用jquery的ajax,你的选择器只需使用$('。ajax_msg'),如果它是一个类或$(“#ajax_msg”),如果id。
答案 2 :(得分:0)
未测试:
function jsUpdateCart(){
var parameter_string = '';
$('.process').each(function(){
var tempid = this.id, temp = tempid.split('_'), real_id = temp[2], real_value = this.value;
parameter_string += real_id + ':'+real_value+',';
});
var params = 'ids='+parameter_string;
$('#ajax_msg').load('http://127.0.0.1/codeigniter_shopping/index.php/welcome/ajax_cart',data,
function(){location.reload(true);});
}
听起来你可以使用starter course on jQuery。如果它对你来说是新的,那就值得一读。