更新
在我的购物车页面上有一个更新按钮,我想检查购物车中的所有商品,看看它们是否有超过1而不是0 - 所有输入框都如下所示:
Apple £4
<input type="text" size="3" value="1" name="quantity[50:YToyOntpOjIyNztzOjI6IjE3IjtpOjIyODtzOjI6IjIxIjt9]">
Orange £6
<input type="text" size="3" value="1" name="quantity[50:YToyOntpOjIyNztzOjI6IjE3IjtpOjIyODtzOjI6IjIewrew]">
我决定使用嵌套的.css类而不是名称,因为它始终是唯一的。
var errorQty=0;
$(document).ready(function () {
var errorQty=0;
// this is an input box, more than one on the page
var QtyItems = $('#ShopTable tbody tr td input');
if(QtyItems=="0" || QtyItems=="1") {
QtyItems.addClass("errorform");
errorQty=1;
} else {
QtyItems.removeClass("errorform");
}
if (errorQty==1){
} else {
$('#updateOrder').click(function () {
$('#updateOrderLoader').slideDown("fast");
document.basket.submit();
return false;
});
}
});
这是我的按钮。我希望代码仅在单击此按钮时才能正常工作!
<a href="#updateOrder" id="updateOrder" title="Update Cart"><img src="//cdn.com/cart/btnUpdate.png" alt="Update Cart" title="Update Cart"/></a>
答案 0 :(得分:0)
您可以遍历输入元素列表:
$('#.table.ShopTable tbody tr td input')
.each(function(idx, el) {
if (el.val() == '1' || el.val() == '0') {
el.addClass("errorform");
...
}
});
答案 1 :(得分:0)
<a onclick="goUpdate()" href="#updateOrder"><img src="//cdn.com/cart/btnUpdate.png"/></a>
var form_flag = 0;
function goUpdate() {
var Items = $("#submitQty");
if ($(Items).val() == "" || $(Items).val() == "1" || $(Items).val() == "0") {
$(Items).addClass("errorform");
form_flag = 1;
} else {
$(Items).removeClass("errorform");
}
// ALL INFORMATION GOOD ..
if (form_flag == 1) {
// NULL CANNOT SUBMIT
} else {
var cartForm;
cartForm = document.getElementById("basket"); // enter the ID or Name or class of your form
cartForm.submit();
}
}
答案 2 :(得分:0)
您的代码中存在少量错误:
1)$('#.table.ShopTable tbody tr td input');
应为$('table.ShopTable tbody tr td input');
2)此处if (errorQty=1){
应为if (errorQty == 1){
3)控件为空,所以你可以这样做:
if (errorQty != 1){ // if errorQty is not 1.
然后将所有内容包装在按钮操作中:
$('#updateOrder').on('click', function() {
...
});
它有效。
答案 3 :(得分:0)
你可以试试这个
$('#updateOrder').on("click", function(e){
e.preventDefault();
var errorQty=0;
var QtyItems = $('table.ShopTable tbody tr td input');
$.each(QtyItems, function(){
var _this = $(this);
if(_this.val()=="0" || _this.val()=="1") {
_this.addClass("errorform");
errorQty=1;
} else {
_this.removeClass("errorform");
}
});
if (errorQty==0){
$('#updateOrderLoader').slideDown("fast");
document.basket.submit();
return false;
}
});