javascript
  • jquery
  • html
  • struts
  • 2016-12-16 4 views 0 likes 
    0

    私は疑問がありますすべてのアイテムがチェックされたらSelect AllはTickedステートになっていなければなりません。チェックされていないすべてのアイテムがチェックされたら、Select AllはTickedステートになっている必要があります

    以下は私のコードです。以下は

    if (reportsAutoCmpAdgrpGrpCol.getCount() > 0 && mPpc != 0) { 
          html.append("<div id='semWklyTab2' style='height: 400px;overflow-y:scroll'>"); 
          html.append("<input type='checkbox' id='msnCmpHead'>Select All"); 
          html.append("&nbsp;&nbsp;&nbsp;"); 
          html.append("<input type='textbox' id='msnSearchCamp' name='msnSearchCamp' value='' size='20'>"); 
          html.append("<input type='button' value='Search' onclick=msnSearch('").append(gPpc).append("','").append(mPpc).append("','").append(yPpc).append("','").append(grpId).append("','msnSearchCamp')>"); 
    
          html.append("<div class='activeCmpMsn activeCmp'>"); 
          buildCmpGrpTbl = buildCmpGrpTbl(iterator, grpId, mPpc, "Active", campaignGroupIds); 
          html.append(buildCmpGrpTbl); 
          html.append("</div>"); 
          iterator = reportsAutoCmpAdgrpGrpCol.getIterator(); 
          html.append("<div class='pausedCmpMsn pausedCmp'>"); 
          buildCmpGrpTbl = buildCmpGrpTbl(iterator, grpId, mPpc, "Paused", campaignGroupIds); 
          html.append(buildCmpGrpTbl); 
          html.append("</div>"); 
          html.append("</div>"); 
         } 
    

    buildCmpGrpTbl

    public StringBuilder buildCmpGrpTbl(Iterator iterator, long grpId, long ppcId, String status, HashMap<Long, Long> campaignGroupIds) { 
        StringBuilder html = new StringBuilder(); 
        GroupingInfo groupInfo; 
        html.append("<table>"); 
        while (iterator.hasNext()) { 
         groupInfo = (GroupingInfo) iterator.next(); 
         if (groupInfo.getBytComponentType() == CommonConstants.CAMPAIGN && groupInfo.getLngPpcId() == ppcId) { 
          if (groupInfo.getStrStatus().contains(status)) { 
           html.append("<tr class='trStyle' id = 'test'>"); 
           html.append("<td align='center' style='line-height:26px;'>"); 
           html.append("<input type='checkbox' name='campaignId'"); 
           if (groupInfo.getLngGroupId() == grpId) { 
            html.append(" checked='checked'"); 
            campaignGroupIds.put(groupInfo.getLngCampaignId(), groupInfo.getLngPpcId()); 
           } 
           html.append(" value='"). 
             append(groupInfo.getLngCampaignId()).append(",").append(groupInfo.getLngSeCampaignId()).append(",").append(ppcId). 
             append("' onclick='hideShowImg(").append(groupInfo.getLngCampaignId()).append(")'/>"); 
           html.append("</td>"); 
           html.append("<td class='").append(status).append("' style='line-height:26px;'>"); 
           html.append("<img alt='Click here to drill down to adgroup data' title='Click here to drill down to adgroup data' src='./Images/Plus Icon.PNG' "); 
           if (groupInfo.getLngGroupId() == grpId) { 
            html.append("style='cursor: pointer;display:none'"); 
           } else { 
            html.append("style='cursor: pointer'"); 
           } 
           html.append(" id=").append(groupInfo.getLngCampaignId()).append(" class='plusImgCmp' " 
             + "onclick=loadAdgrpGrpsForPpc('rprtAutoAdgrpGroups',").append(ppcId).append(",").append(groupInfo.getLngCampaignId()).append(",").append(grpId).append(") />"); 
           html.append("&nbsp;&nbsp;").append(groupInfo.getStrCmp_Adgrp_Name().replaceAll("\"", "''")); 
           html.append("</td>"); 
           html.append("</tr>"); 
          } 
         } 
        } 
        html.append("</table>"); 
        return html; 
    } 
    

    ための機能であり、私のHTMLは

    <s:multibox property="sheets" styleClass="wkRprts" value='<%="" + AutoReportConstants.PERFORMANCE_SUMMARY_REPORT_WEEKLY%>' onclick="loadCmps('504',this)"/>SEM Weekly 
                               <img src="./Images/edit.png" alt="Edit Label" title="Edit Label" id ="semWkEdt" style="vertical-align: middle;cursor: pointer;display: none" onclick="loadCmps('504','Edit')"> 
    

    と負荷素子

    function loadCmps(grpId,cur){ 
    if(cur.checked||cur=='BrndNonBrnd'||cur=='NewGrp'||cur=='Edit'){ 
        var gAcc=0,mAcc=0,yAcc=0,gPpc,mPpc,yPpc; 
        gAcc=gleMsnCnt(2); 
        mAcc=gleMsnCnt(3); 
        yAcc=gleMsnCnt(10); 
        if(gAcc==0&&mAcc==0&&yAcc==0){ 
         alert("Please select atleast one Account to proceed."); 
         cur.checked=false; 
         return false; 
        }else if(mAcc>1||gAcc>1 || yAcc>1){ 
         alert("For one template the user is allowed to select One Google,One Bing and One Yahoo Gemini Accounts per client"); 
         cur.checked=false; 
         return false; 
        }else{ 
         $(".wkRprts").attr("disabled", "true"); 
         $("#semWklyDiv").tabs(); 
         $("#semWklyDiv").tabs("destroy"); 
         $("#semWklyDiv").tabs(); 
         gPpc=getSelPpc(2); 
         mPpc=getSelPpc(3); 
         yPpc=getSelPpc(10); 
         $("#semWklyTab1").html("<div class='progressBarDiv'>Please wait while the campaigns are loading...<div class='progressBar'><div class='ui-progress-label ui-progressbar-overlay'></div></div></div>"); 
         $("#semWklyTab2").html("<div class='progressBarDiv'>Please wait while the campaigns are loading...<div class='progressBar'><div class='ui-progress-label ui-progressbar-overlay'></div></div></div>"); 
         $("#semWklyTab3").html("<div class='progressBarDiv'>Please wait while the campaigns are loading...<div class='progressBar'><div class='ui-progress-label ui-progressbar-overlay'></div></div></div>"); 
         $(".progressBar").progressbar({ 
          value: false 
         }); 
         $("#semWklyDiv").show(); 
         $("#semWklyDiv")[0].scrollIntoView(); 
         loadCmpAdgrpGrpsForPpcs("AutoRprtsCmpAdgrpGroups",gPpc,mPpc,yPpc,grpId); 
        } 
    }else{ 
        $("#semWklyDiv").hide(); 
    } 
    

    // resizeIframe( '#のランディングページです'); }

    +0

    Classを追加する場合、それは素晴らしいことだろうあなたの変更イベントはどこですか?選択のrsed html? – madalinivascu

    +0

    申し訳ありませんが、私は得ることができません..あなたは私に適切にお勧めします – ManjuSony

    +0

    あなたのhtmlはどこですか? – madalinivascu

    答えて

    0

    このjQueryのイベントを試す

    $(document).on('change','input[name='campaignId']', function(){ 
        if($('input[name='campaignId']:checked').length == $('input[name='campaignId']').length) { 
         $('#msnCmpHead').prop('checked', true); 
        } else { 
         $('#msnCmpHead').prop('checked', false); 
        } 
    }) 
    

    あなたが逆の要件は、このリンクをチェックしている場合は
    JSFiddle

    提案
    あなたはname='campaignId

    +0

    ありがとうshantaram – ManjuSony

    +0

    動作しているかどうかを教えてください、私はここに入力してください。未検証 –

    関連する問題