2015-11-20 75 views
0

我期待在頁面加載時引用一些JSON變量。基於值爲真/假,將一個類附加到html元素。JSON變量到jquery/HTML

不能得到這個工作,將不勝感激一些幫助 - 對jquery和所有新人。

// html 
<form id="add_form"> 
<script type="application/json" data-type="product" 
{"product_options": [ 
{"sku": "ABC123", "price": "$10", "in_stock": true, "can_order": true, "option1": "Small"}, 
{"sku": "DEF456", "price": "$20", "in_stock": false, "can_order": false, "option1": "Medium"}], "id": 31, "name": "Some Shirt style"} 
</script>...</form> 

我想通過.size_options類的元素進行迭代,並添加類基於JSON的「IN_STOCK」值li元素;即如果該值爲真,則添加一個類。

// parse JSON data 
var obj = JSON.parse($("#add_form script[type='application/JSON']").html()); 

$(".size_options li").each() { 
    some code 
}); 

我很感謝這裏的任何幫助。

+0

您需要一些方法從li元素中獲取id。這可能嗎? –

+0

您需要一種方法將每個'product_options'元素與每個'.size_options li'元素進行匹配,並使用'.addClass(...)' – JCOC611

+0

http://www.dynatable.com/ –

回答

1

在這種情況下number oflilengthobj.product_options應該是相等的。

$(".size_options li").each(function (index) { 
    if (obj.product_options[index].in_stock) { 
     $(this).addClass("classToBeAdd"); 
    } 
}); 
+0

謝謝!完美的作品。 – Tincdawg

+0

所以,你可以給它一個答案 – ozil

0

您需要附加一個數據屬性與相同JSON值「數據can_order」,然後迭代元件,並根據真值附加的類。

但是我會建議在'can_order'檢查'in_stock'屬性之前,然後追加類。