我正在做一个表格,将产品数量发送到电子邮件地址(列表由php生成),用户输入所需的数量,并将其发送到电子邮箱,我的表单需要打开彩盒窗口,仅如果至少有一个字段被填满,如果所有字段都是空的,并且他点击发送,我会显示警报,我尝试了但是,出了点问题。请检查小提琴;
http://jsfiddle.net/traoLe14/2/
HTML:
<ul>
<li class="col-xs-2">
<input type="number" name="1" min="0" max="100" class="form-control product" value="1">Apple</li>
<li class="col-xs-2">
<input type="number" name="2" min="0" max="100" class="form-control product" value="0">Banana</li>
<li class="col-xs-2">
<input type="number" name="3" min="0" max="100" class="form-control product" value="0">Grape</li>
<li class="col-xs-2">
<input type="number" name="4" min="0" max="100" class="form-control product" value="0">Potato</li>
</ul>
<div> <a href="#" class="btn btn-default send_products">
<i class="glyphicon glyphicon-envelope"></i> send list
</a>
</div>
JS:
$(".send_products").on("click", function (e) {
e.preventDefault();
$(".product").each(function () {
// print values on console
console.log($(this).val());
if ($(this).val() > 0) {
$("send_products").addClass("inline", function () {
$(".inline").colorbox({
inline: true,
height: "50%",
width: "50%",
innerWidth: 800,
innerHeight: "50%"
});
});
} else {
alert("no products added");
}
});
});
答案 0 :(得分:2)
您可以先找到数量为&gt的产品数量; 0使用以下查询
var length = $(".product").filter(function () {
return $(this).val() > 0;
}).length;
如果长度> 0,做正常处理,否则显示警告
答案 1 :(得分:1)
我想你应该试试
if($(this).val().length > 0)
代替if($(this).val() > 0)
或者
if(parseInt($(this).val()))
代替if($(this).val() > 0)
如果你检查typeof $(this).val()
它将返回字符串然后在if循环中你将它与0进行比较。也许这就是问题。