2011-06-05 53 views
0

我試圖從動態生成的cheboxes(當打勾)發送數據到我的php腳本,然後到mysql數據庫。我有類似的東西:(!複選框的量不常數)如何使用jquery從動態表單發送一些數據?


form method="post" id="form"> 
<input type="checkbox" id="1" name="tick"> 
<input type="checkbox" id="2" name="tick"> 
<input type="checkbox" id="3" name="tick"> 
<input type="checkbox" id="4" name="tick"> 
<input type="checkbox" id="5" name="tick"> 
<input type="checkbox" id="6" name="tick"> 
</form> 


$(document).ready(function(){ 
$("form#form").check(function() { 
    var achieved = $('input[check]'); 
    var id = $('input[id]'); 

    var data = 'achieved=' + achieved.val() + '&amp;id=' + id.val(); 

    $.ajax({ 
    type: "POST", 
    url: "change.php", 
    data: data, 
    success: function(){ 
    $('div.changed').fadeIn(400); 
    setTimeout(function(){ $("div.changed").fadeOut(400) }, 4000); 
    } 

    }); 
    return false; 
}); 
}); 

我是怎麼了?

回答

0

您需要提供您可以在服務器端檢查的複選框元素值(value="something")。

您也可以使用serialize()方法創建參數字符串,而不是手動執行。

你現在正在做它的方式肯定不行,因爲你achieved變量將不匹配您的任何元素(您的意思是否:checkbox?)和id將匹配所有,所以val()只會返回第一value,這不是在你的例子中設置。

另外,當您的意思是&時,請勿使用&amp;。編碼的實體只在HTML中有意義。

我也確定jQuery中沒有check()方法。你在使用插件嗎?

+0

不,只乾淨的jquery – icepopo 2011-06-05 11:19:28

相關問題