2013-09-23 155 views
0

我在我的jqgrid中有一個按鈕。代碼是<a class="row-delete" align="left" onclick="deleteItem()"Jquery複選框麻煩

的deleteItem方法是

function deleteItem(){ 

     if (confirm("Are you sure you want to delete?")) { 


      var selected = new Array(); 
       $('input:checked').each(function() { 
        selected.push($(this).attr('id')); 
       }); 

       alert(selected); 
      } 
      } 

在這裏,我試圖讓選定的複選框的ID。但警報消息正在顯示。我在var選擇的行之前嘗試了alert(hi)。即使這不是打印。我的代碼中有什麼問題?

我的整個代碼是

<script type="text/javascript"> 
    /* <![CDATA[ */ 

    function setfocus(){ 
     document.getElementById("hidden").focus(); 
    } 

    function selectOverride(){ 
     overrideCheckedFunc(); 

    } 

    function selectLowerRuns(obj){ 
      if (obj.options[1].selected){ 
       obj.options[0].selected = true; 
      } 
     } 

    function resetForm(name){ 
       jQuery('#' + name).find('input[type=checkbox]:checked').removeAttr('checked'); 
       jQuery("input[name='programContactForm\:statusRadio']:checked").removeAttr('checked'); 
       jQuery(".filterKeyword").val(""); 
     } 

    function resetModalPanel(name){ 
       jQuery(':input','#' + name) 
       .not(':button, :submit, :reset, :hidden') 
       .val('') 
       .removeAttr('checked') 
       .removeAttr('selected'); 
      } 


    function checkAll(id, name) 
    { 
     jQuery("#" + name + " :checkbox").attr('checked', jQuery('#' + id).is(':checked')); 
    } 

    function toggleAll(obj,divId){ 
     if(!obj.checked) 
      jQuery("#"+divId).find("input:checkbox").removeAttr('checked'); 
    } 

    function confirm_delete() { 
      if (!confirm("Are you sure you want to delete?")) return false; 
      return true; 
     } 

    function deleteItem(){ 

    if (confirm("Are you sure you want to delete?")) { 


      var selected = new Array(); 
      $('input:checked').each(function() { 
       selected.push($(this).attr('id')); 
      }); 

      alert(selected); 
     } 
     } 

    var searchUrl = "#{request.contextPath}/seam/resource/restv1/access/search?pid=#{program.id}&ptype=#{program.lkpProgType}"; 
    var progHide = true; 
    var adminHide = true; 
    checkBoxHide = false; 


    jQuery(document).ready(function() { 
     if (#{program.lkpProgType == lookupManager.lkpIdByName('TV_SERIES') }) 
      progHide = false; 
     else 
      progHide = true; 
    }); 

    jQuery(document).ready(function() { 
     if (#{s:hasRole('ROLE_ADMIN_TITLE_SETUP')}) 
      adminHide = false; 
     else 
      adminHide = true; 
    }); 



function gridReload(){ 
     var jqG= jQuery("#progAccessSearchResults").jqGrid('setGridParam',{ 
      page:1, 
      postData:{ 
         'keyword': function(){ return jQuery(".filterKeyword").val();}, 
         'distTypeLkpId': function(){ 

           var distTypeLkpId = new Array(); 
           jQuery('input:checkbox:checked', "#checkBoxDiv").each(function() { 
            distTypeLkpId.push(jQuery(this).val()); 
           });       
           return distTypeLkpId; 
           }, 
         'tigresContractStatus' : function(){         
           var status = jQuery("input[name='programContactForm\:statusRadio']:checked").val();           
           return status;    
         }, 
         'includeExpired' : function(){ return jQuery(".includeExpire").is(':checked')} 
        } 
     }).trigger("reloadGrid"); 
    } 
    function checkBoxChecked() 
{ 
try{ 

    var checkboxes=document.getElementsByName("test"); 
// alert(document.getElementById("mastercheck").checked); 
    for(i=0;i<document.getElementsByName("test").length;i++) 
    { 
    checkboxes[i].checked = "checked"; 
    } 

    } 
    catch(e) 
    { 

    } 
    //alert(document.getElementById("mastercheck").checked); 
    document.getElementById("mastercheck").checked="checked"; 
    return true; 
} 

    jQuery(document).ready(function() { 

     jQuery("#progAccessSearchResults").jqGrid({ 
       url: searchUrl, 
       colNames: ['Id', 'Name','Distr Type','Run No','Start Date','End Date','Access Type','Tigress Status','','Last Updated','Source','<input type="checkbox" onclick="checkBoxChecked()" id="mastercheck"/><a class="row-delete" align="left" onclick="deleteItem()"/>'], 
       colModel: [ 
          {name:'id', index:'id', hidden : true}, 
         // {name:'season', index:'SEASON', hidden : progHide, width: 80, resizable: false}, 
          {name:'name', index:'NAME', width: 120, resizable: false}, 
          {name:'distType', index:'DIST_TYPE_NAME', width: 140, resizable: false}, 
          {name:'runNo', index:'RUN_NO', hidden : progHide, width: 150, resizable: false}, 
          {name:'startDate', index:'B2B_START_DT', width: 90, resizable: false}, 
          {name:'endDate', index:'B2B_END_DT', width: 90, resizable: false}, 
          {name:'accessType', index:'OVERRIDDEN', width: 80,resizable: false}, 
          {name:'contractStatus',index:'contract_status',width:80,resizable:false}, 
          {name:'act',index:'act', sortable:false, hidden : adminHide, align:"center", width: 80, resizable: false}, 
          {name:'lastUpdated',index:'last_updated_dt', hidden : true}, 
          {name:'source',index:'source', hidden : true}, 
          {name:'checkbox',index:'checkbox', sortable:false, hidden : adminHide, align:"center", width: 80, resizable: false}, 
          //{name: 'checkbox', index: 'checkbox', editable:true, edittype:'checkbox',align:"center",hidden : checkBoxHide, editoptions: { value:"True:False",defaultvalue:"False"}, formatter: "checkbox", formatoptions: {disabled : true} } 
         ], 
         datatype : 'json', 
         mtype: 'POST', 
         width: '920', 
         height: 'auto', 
         rownumbers: false, 
         rownumWidth: 40, 
         sortname : 'last_updated_dt', 
         sortorder : 'desc', 
         scrollOffset : 0, 
         toppager: true, 
         rowNum : jqrowNum, 
         rowList : jqRecordsPerPageList, 
         viewrecords : true, 
         gridview : false, 
         cellEdit : false, 
         caption : 'Search Results', 
         hidegrid : false, 
         pager : jQuery('#progAccessSearchResultsPager'), 
         multiselect : false, 
         toolbar: [true,"top,bottom"], 
         jsonReader: { repeatitems : false, id: "0" }, 
         gridComplete: function(){ 

         var ids =jQuery("#progAccessSearchResults").jqGrid('getDataIDs'); 

         var recs = parseInt(jQuery("#progAccessSearchResults").getGridParam("records"),10); 
         if (recs == 0) { 
          jQuery("#gridWrapper").hide(); 

         } 
         else { 
          jQuery('#gridWrapper').show(); 
          jQuery(".noResMsg").hide(); 
         } 
         }, 
       }); 
      // End jqgrid script 
    }); 

    /* ]]> */ 
    </script> 
+0

看起來不錯我....任何錯誤在Web控制檯? – iJade

+0

你可以設置小提琴 – Amit

+0

我對這個領域非常陌生。我不知道如何設置小提琴.. –

回答

1

你可能想試試這個

$('.row-delete').on('click', function() { 

    if (confirm("Are you sure you want to delete?")) { 
     var selected = new Array(); 
     $('input:checked').each(function() { 
      selected.push($(this).attr('id')); 
     });  
     alert(selected); 
    } 
}); 

和HTML只使用

<a class="row-delete" align="left">click me</a> 

小提琴這裏:http://jsfiddle.net/4Umz9/

+0

我應該在這裏給id按鈕嗎?在控制檯它打印TypeError:$(...)爲空\t $('。row-delete')。on('click',function(){ –

+0

我已經提供了小提琴的鏈接。使用你已經提供的鏈接的類,如果你想使用一個id來調用它,請確保你把它叫做$(「#row-delete」),我上面的函數使用鏈接的類。 – aelor