2012-08-09 66 views
0

我有一些复选框,我想允许多个选择,只有在每次选择后DIV才会加载内容。使用jquery复选框中的多个复选框并加载到div

这里是我的勾选框,其来源于一个PHP而:

<input type='checkbox' class='regularCheckbox' name='color[]' value='".$colorBoxes[color_base1]."' /> 

这里是我当前的Jquery,只允许我1勾选框:

jQuery(document).ready(function($) { 
    $("input:checkbox").change(function() { 
     if($(this).is(':checked')) 
      { 
     $(".loadingItems").fadeIn(300); //fade in on change 
     var color = $(this).val(); 
      $(".indexMain").load('indexMain.php?color='+color,function(){ 
      $(".indexMain").fadeIn(slow); 

      }) 
      $(".loadingItems").fadeOut(300); //remove when load is complete 
     } 
     else 
      { 
$(".indexMain").load('indexMain.php'); 
      } 
     }); 
    }); 

回答

0

你可以在你的情况下得到更好的服务使用delegate代替change

$(document).delegate("input:checkbox", "change", function(evt) { //... });

+0

会适用于我上面的代码?我只传递1个值... – samyb8 2012-08-10 13:11:35

+0

'.delegate'方法会将事件处理程序附加到与选择器匹配的所有当前*和*未来元素。如果您要动态地添加和删除复选框,则会确保您的处理程序为所有这些处理程序执行。 – 2012-08-10 15:16:44

+0

“(文档)$ .delegate( ”输入:单选按钮“, ”改变“,函数(){ \t \t如果($(本)。是( ':检查')) \t \t \t { \t $( “.Items”)。fadeIn(300); //淡入变化 var color = $(this).val(); \t \t \t $(“。indexMain”).load('indexMain.php?color ='+颜色,功能(){ \t \t \t $( “indexMain。”)淡入(慢); \t \t \t \t \t \t}) $(“。loadingItems”)。fadeOut(300); //删除当加载完成 } \t \t别的 \t \t \t { \t \t \t $( “loadingItems。”)淡入(300)。 //淡入变化 $(“。indexMain”)。load('indexMain.php'); \t \t \t $(“。loadingItems”)。fadeOut(300); //删除加载完成后 \t \t \t} \t \t});'//不工作... – samyb8 2012-08-12 11:36:42