2016-06-15 85 views
-3

我試圖從數量跨度標記中獲取值,但沒有這樣做的運氣。我可以通過使用輸入元素使其工作,並將jquery更改爲代碼,但是我想使它與span標記一起工作。跨度標記的值不起作用

function add_to_cart(){ 
 
    var quantity = $("#quantity span").html(); 
 
    var available = jQuery('#available').val(); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="quantity"> 
 
    <div class="quantity-select"> 
 
    <div class="entry value-minus">&nbsp;</div> 
 
    <div class="entry value" id="quantity" name="quantity"><span>1</span></div> 
 
    <!-- By replacing the above div with: <input type="number" class="form-control" id="quantity" name="quantity" min="0"> the quantity will work --> 
 
    <div class="entry value-plus active">&nbsp;</div> 
 
    </div> 
 
</div> 
 

 
<button type="submit" onclick="add_to_cart();return false;" class="add-to item_add hvr-skew-backward">Add to cart</button>

+0

你能縮小導致問題的代碼嗎?請創建一個[mcve] – j08691

+0

我在代碼中看不到'#available'範圍 –

+0

通過編輯問題,原始問題(設置數量)仍然是問題嗎? – JonSG

回答

0

香港專業教育學院創建了一個易於閱讀你的代碼here,只是側重於發生故障的查詢的版本。

function add_to_cart(){ 
    var quantity = $("#quantity span").html(); 
    console.log(quantity); // 1 
} 

最初你的代碼是正確的,值1被記錄,但是隻要你遞增/遞減失敗值。這是由於您的點擊事件處理程序

$(this).parent().find('.value') 

選擇跨越父div並覆蓋其內容。將相同的選擇器附加到增量/減量函數應該可以解決問題。

+0

這是一個解決方案的原始問題,但有一個問題的編輯。 – JonSG

+0

感謝回覆:)感謝幫助 –

+0

好的,編輯好的問題似乎適用於我!你還有問題嗎?看到[this](https://jsfiddle.net/samando27/uvyfncze/2/) –