2014-09-30 80 views
0

我正在做一個表格將產品數量發送到一個電子郵件地址(該列表由php生成),用戶把數量需要,併發送到一個電子郵件,我的表單需要打開顏色框窗口,只有當至少有一個字段填充,如果全部是空的,他點擊發送,我顯示警報,我試過了,但有些東西是錯誤。請檢查小提琴;檢查所有輸入的文本是否爲空,並且如果至少填寫了一個,則打開colorbox

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

,如果1 && 2 && 3 && 4是空警報,否則提交 – starvator 2014-09-30 13:23:49

+0

不,我的PHP把180個輸入列表,這個小提琴只是一個例子; – user3632930 2014-09-30 13:25:16

+0

然後使用循環?爲1到180如果空警報和中斷,否則增量名稱? – starvator 2014-09-30 13:28:28

回答

2

,你可以先用下面的查詢找到的產品數量> 0計數

var length = $(".product").filter(function() { 
     return $(this).val() > 0; 
    }).length; 

如果length> 0,不正常的處理,否則展現在JS警報

http://jsfiddle.net/mfarouk/traoLe14/3/

+0

很酷,我更新了你的代碼,它適用於我現在,但是,還有一件事...如果我再次將值更改爲「0」,他會繼續打開彩盒。 http://jsfiddle.net/traoLe14/6/ – user3632930 2014-09-30 14:13:26

1

我想你應該嘗試

if($(this).val().length > 0)而不是if($(this).val() > 0)

也許

if(parseInt($(this).val())),而不是if($(this).val() > 0)

如果檢查typeof $(this).val()它將返回的字符串,然後在循環,如果你正在爲0比較它也許這是個問題。

相關問題