php – 发布多个复选框值的数组

前端之家收集整理的这篇文章主要介绍了php – 发布多个复选框值的数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么只有“db”复选框值数组的一个值被发送到服务器端脚本?

JQUERY:

  1. $(".db").live("change",function() {
  2. $(this).add($(this).next("label")).add($(this).next().next("br")).remove().insertAfter(".db:last + label + br");
  3. var url = "myurl.PHP";
  4. var db = [];
  5. $.each($('.db:checked'),function() {
  6. db.push($(this).val());
  7. });
  8. if(db.length == 0) {
  9. db = "none";
  10. }
  11. $.post(url,{db: db},function(response) {
  12. $("#dbdisplay").html(response);
  13. });
  14. return true;
  15. });

HTML:

  1. <input type="checkBox" name="db[]" class="db" value="track"/><label for="track">track</label></br>
  2. <input type="checkBox" name="db[]" class="db" value="gps"/><label for="gps">gps</label></br>
  3. <input type="checkBox" name="db[]" class="db" value="accounting"/><label for="accounting">accounting</label></br>

编辑:我最后回答了我自己的问题,但有没有人有文件(或解释)为什么这是必要的?我很难找到确切的答案(因此是死后的帖子).

我同意@jjclarkson.只是添加,而不是将您的ID推送到数组,您可以使用 $.map
  1. $(".db").live("change",function() {
  2. $(this).add($(this).next("label")).add($(this).next().next("br")).remove().insertAfter(".db:last + label + br");
  3. var url = "myurl.PHP";
  4.  
  5. var db = $('.db:checked').map(function(i,n) {
  6. return $(n).val();
  7. }).get(); //get converts it to an array
  8.  
  9. if(db.length == 0) {
  10. db = "none";
  11. }
  12. $.post(url,{'db[]': db},function(response) {
  13. $("#dbdisplay").html(response);
  14. });
  15. return true;
  16. });

猜你在找的PHP相关文章