2013-07-30 22 views
1

我遇到動態生成複選框的問題。我曾嘗試這樣的:如何將事件與通過jQuery中的ajax生成的動態值綁定

<select name="model" id="model" class="" aria-invalid="false"> 
<option value="1">iPhone 5</option> 
<option value="2">Iphone 4S</option> 
<option value="3">Iphone 4</option> 
</select> 

基於這些複選框將通過ajax.Here生成上述選定的值是通過AJAX生成的元素:

<p><input type="checkbox" id="screenguard" name="screenguard" value="20" />Cover</p> 
<p><input type="checkbox" id="Charger" name="Charger" value="30" />Charger</p> 
<p><input type="checkbox" id="hdphdm" name="hdphdm" value="10" />Headphone</p> 

<p> 
Calculated Price: <input type="text" name="price" id="price" /> 
</p> 

而且基於選擇由複選框我需要計算到另一個輸入框(價格)的值。這裏是我的jquery功能:

$(document).ready(function() { 
var $inputs = $('input[type="checkbox"]') 
    $inputs.on('change', function() { 
     var sum = 0; 
     $inputs.each(function() { 
     // iterate and add it to sum only if checked 
      if(this.checked) 
       sum += parseInt(this.value); 
     }); 
     $("#price").val(sum); 

    }); 
}); 

但我不知道爲什麼它不起作用。請給我任何建議,我做錯了什麼。

回答

5

您需要使用event delegatioň這樣的 -

$(document.body).on('change','input[type="checkbox"]', function() { 
+0

我已經試過這個,但它不工作,我不知道爲什麼? – Toretto

+0

@Toretto使用這個完全相同的語法重試,應該可以工作 –

+0

好吧,它現在正在工作,我做了一個愚蠢的錯誤,並找出它。感謝您的幫助。 – Toretto

-1

每當你點擊一個複選框「和」被複位回零。將其移動到「更改」事件之外。

相關問題