jquery可以抓出現有的欄位資料,一般我都是根據id,name值下去抓
但這次是應用在購物車上,有加購的功能
但購物清單上的id值是動態的,所以我去找了一些首先要模糊比對的資料
[属性名称] 匹配包含给定属性的元素
[att=value] 匹配包含给定属性的元素 (大小写区分)
[att*=value] 模糊匹配
[att!=value] 不能是这个值
[att$=value] 结尾是这个值
[att^=value] 开头是这个值
[att1][att2][att3]... 匹配多个属性条件中的一个
var list=$('li[id^=compare_prod_list_]');
參考連結: 點我
[att=value] 匹配包含给定属性的元素 (大小写区分)
[att*=value] 模糊匹配
[att!=value] 不能是这个值
[att$=value] 结尾是这个值
[att^=value] 开头是这个值
[att1][att2][att3]... 匹配多个属性条件中的一个
var list=$('li[id^=compare_prod_list_]');
參考連結: 點我
找到上面文章後,才知道如何作模糊比對
但在做父類別列表時,要怎麼讓加購商品知道主商品的列表編號?
後來想到自定一個標籤後,用jquery的attr抓取每個加購商品帶的主商品編號即可
sn_num = $(this).attr("data"); //抓出裡面data的值
像這樣的寫法,接著就可以用each將加購商品的項目帶進來判斷
function check_main_plus() {
var sn_num=0; //主產品的列表編號
$("select[id^='plus_amount_']").each(function(){ //模糊找尋id中有plus_amount_的欄位
sn_num = $(this).attr("data"); //抓出裡面data的值
if(this.value > $('#quantity_'+sn_num).val()) { //比對select 中的值是否附合主產品的數量
$(this).val($('#quantity_'+sn_num).val()); //強制更改最大值為主產品數量
} //if(this.value > $('#quantity_'+sn_num).val()) { //比對select 中的值是否附合主產品的數量
}); //$("select[id^='plus_amount_']").each(function(){ //模糊找尋id中有plus_amount_的欄位
} //function check_main_plus() {
以上的function即可以檢查「加購商品」數量是否有超過「主商品」數量
沒有留言 :
張貼留言