我是jquery的新手,所以这看起来很简单,但我看不出诀窍:p
我正在使用jquery 1.2.6(我无法升级它:/)这就是我使用livequery插件的原因。
上下文只是对电子商店购物车的更新 问题是我没有在update_it.php中获得我想要的“myid”值 - 使用示例1(参见下面的代码)它正在工作!调用已经完成,我在update_it.php中为“myid”获得了良好的价值。但它是硬编码的,我希望它是通用的(见例2) - 使用示例2它无法正常工作:(警报正在运行,呼叫正在运行,但我没有为“myid”获得任何价值
这是我的javascript:
$(document).ready( function () {
function update_it() {
$.ajax({
type: "POST",
url: "./update_it.php",
dataType: "json",
data: "myid="+$(this).val(),
success: function(msg){
$("div#cart-full").html(msg.fullcart);
$("div#cart").html(msg.mincart);
},
error : function(xhr, desc, e) {
alert("ko - " + xhr.status);
}
});
}
// Example 1
$("#mycheckbox_1").livequery("click", update_it);
// Example 2
$("input:checkbox[id^=mycheckbox_]").each(function(){
$(this).livequery("click", update_it);
});
});
感谢您的帮助!
答案 0 :(得分:1)
jquery页面上第二个选择的示例涉及第二组引号: jQuery(“[attribute ^ ='value']”)
试 $( “输入:复选框[ID ^ = 'mycheckbox _']”)每个(函数(){
。编辑:
在这种情况下,请尝试以下示例中的“ON”关键字而不是livejquery。 http://jsfiddle.net/4LaQX/2/
$(function () {
$(document).ready(function(){
$("[id^='hoverme_']").each(function () {
$(this).on("click", listen);
});
});
function listen(){
alert($(this).html());
}
});
在Jquery 1.2.6的情况下,click()关键字
$(本)。单击(doSomethingFunc);
修改
$(document).ready( function () {
// Example 2
$("input:checkbox[id^=mycheckbox_]").click(update_it);
});
function update_it() {
$.ajax({
type: "POST",
url: "./update_it.php",
dataType: "json",
data: "myid="+$(this).val(),
success: function(msg){
$("div#cart-full").html(msg.fullcart);
$("div#cart").html(msg.mincart);
$("input:checkbox[id^=mycheckbox_]").unbind("click");
$("input:checkbox[id^=mycheckbox_]").bind("click");
},
error : function(xhr, desc, e) {
alert("ko - " + xhr.status);
}
});
}