2012-03-23 10 views
0

各アイテムにチェックボックスを有効にしたRadComboBoxが含まれているItemTemplateがあります。私は、ユーザーの選択に応じて、コンボボックス内のチェックボックスを無効または有効にするビジネスロジックを適用する必要があります。私が知る必要があるのは、これらのチェックボックスを無効にする方法です。したがって、たとえば:jqueryを使用してradcombobox内の複数のチェックボックスを無効/有効にする方法は?

<Combobox CssClass="Assignees"> 
    <cb> <Item 1> 
    <cb> <Item 2> 
    <cb> <Item 3> 
    <cb> <Item 4> 

アイテム4のチェックボックスをオンにすると、他のすべてのチェックボックスは無効になります。選択されていない場合は、すべてが再度有効になります。項目1,2または3を選択すると、項目4のチェックボックスは無効になります。

私が何かしようとしました:ちょうどコンボボックス内のチェックボックスのすべてを取得するために

$(".AssigneeTag").find(":checkbox").click(
    function() { 
     var allCheckboxes = $(this).closest(".AssigneeTag").find(":checkbox"); 
    }); 

を。これは何も戻っていません。それから私はここから出て、itemdataを検査して "タイプ"を決定し、隠すか表示するかを判断できるようにする必要があることを知っています。

誰でも正しい方向に向けることができますか?

EDIT: 要求通り、HTML。私はこれをそれから掘り起こすことができました。ちょうどそれを見て、私は何のために頭を包むことができません。アイテムリストにロードされるアイテムは、実際には3つのフィールドを含むオブジェクトです。名前、GUID、およびタイプを指定します。でも、ここで登場する私は、ビジネスロジックを適用するタイプを見てする必要がありますが、私はそれを見ていないよ:

<div id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo" class="RadComboBox RadComboBox_Default AssigneeTag" ItemDataBound="Assignees_Bound" style="width:160px;"> 
    <table summary="combobox" style="border-width:0;border-collapse:collapse;table-layout:fixed;width:100%"> 
     <tr class="rcbReadOnly"> 
      <td style="margin-top:-1px;margin-bottom:-1px;width:100%;" class="rcbInputCell rcbInputCellLeft"> 
       <input name="ctl00$MainContent$lsvTickets$ctrl0$lsvActions$cboAssignTo" type="text" class="rcbInput" id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_Input" value="" style="display: block;" readonly="readonly" /> 
      </td> 
      <td style="margin-top:-1px;margin-bottom:-1px;" class="rcbArrowCell rcbArrowCellRight">< 
       a id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_Arrow" style="overflow: hidden;display: block;position: relative;outline: none;">select</a> 
      </td> 
     </tr> 
    </table> 

    <div class="rcbSlide" style="z-index:6000;"> 
     <div id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_DropDown" class="RadComboBoxDropDown RadComboBoxDropDown_Default " style="float:left;display:none;"> 
      <div class="rcbScroll rcbWidth" style="width:100%;"> 
       <ul class="rcbList" style="list-style:none;margin:0;padding:0;zoom:1;"> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />Mike ITTest</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />Jeremy Stafford</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />John Bell Test (Info. Tech.)</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />Mike ITTest (Info. Tech.)</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />AG Cust Support</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />AG Eng Support</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />AG HR Support</li> 
        <li class="rcbItem "><input type="checkbox" class="rcbCheckBox" />AG IT Support</li> 
       </ul> 
      </div> 
     </div> 
    </div> 
    <input id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_ClientState" name="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_ClientState" type="hidden" /> 
</div> 
+0

。 jQueryを使って作業する必要があるので、HTMLも表示してください。 –

答えて

0

まあを、で開始する、働くwouldntのあなたのHTMLの構文エラーがあります私はそれを修正するまで私のために。

ここを参照してください:( "<" タグの前に "A" の後に復帰文字でエラー)

<td style="margin-top:-1px;margin-bottom:-1px;" class="rcbArrowCell rcbArrowCellRight">< 
    a id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_Arrow" style="overflow: hidden;display: block;position: relative;outline: none;">select</a> 
</td> // also see no reason for display block on "a" as it will cause it to have 0 width and be invisible (more or less) 

あまりにも変更

<td style="margin-top:-1px;margin-bottom:-1px;" class="rcbArrowCell rcbArrowCellRight"> 
    <a id="ctl00_MainContent_lsvTickets_ctrl0_lsvActions_cboAssignTo_Arrow" style="overflow: hidden;position: relative;outline: none;">select</a> 
</td> 

次に、チェックボックスの問題、あなたがチェックしたいと思っているものが正確かどうかわからなかったので、 "Check All"というラベルの付いたチェックボックスをクリックして、すべてをチェックするか、名前をオフにしてチェックします。 ll。 See the working jsFiddle HEREと下のjQueryのコードを参照してください:あなたは、バックステップと、クライアント上でHTML出力を見て、Telerikコントロールの泥だらけの抽象化で立ち往生しているので

$(function() { 
    $("#rcbCheckAll").on("change", function(e) { 
     $(".rcbCheckBox").prop("checked", $(this).prop("checked")); 
    }); 
    $(".rcbCheckBox").on("change", function(e) { 
     if (!$(this).is("checked")) $("#rcbCheckAll").prop("checked", false); 
    }); 
})​ 
関連する問題