0

チェックボックスとテキストボックスを含むグリッドビューがあります。私が欲しいのは、特定の行のチェックボックスがチェックされると、行のテキストボックスがドロップダウンに変わることです。.show()および.hide()機能を使用して、ドロップダウンを表示し、テキスト ボックスを非表示にしました。

これはグリッドビューのチェックボックスです:

     <ItemTemplate>      <div style="text-align: center;">
           <asp:HiddenField ID="hdn_id2" runat="server" Value='<%#Eval("Id") %>' />

                    <asp:CheckBox ID="NewCheckBoxImage" CssClass="NewCheckBoxImage()"  onClick="NewCheckBoxImage();" runat="server" /></div>
                </ItemTemplate>

そして、これはjavascriptのコードです:

   function NewCheckBoxImage() {

        var flag = false;

        $('.gridAssigned input[type="checkbox"]').each(function () {


            if ($(this).is(':checked')) {
                flag = true;
            }
        });
        if (flag) {

            $('.NewBtnAssign').show();
            $('.TextBoxCompany').hide();
            $('.TextBoxBrand').hide();
            $('.DDCompany').show();
            $('.DDBrand').show();

        }
        else {
            $('.NewBtnAssign').hide();
            $('.TextBoxCompany').show();
            $('.TextBoxBrand').show();
            $('.DDCompany').hide();
            $('.DDBrand').hide();
        }
    }

TextBoxCompany、TextBoxBrand はテキスト ボックスで、DDCompany、DDBrand はドロップダウンです。チェックボックスを選択すると、すべてのテキストボックスが非表示になり、すべてのドロップダウンが表示されます。チェックボックスが選択されている行が必要です。それらの行のドロップダウンのみが表示されます。

4

2 に答える 2

0

これを試して教えてもらえますか?うまくいくかどうかはわかりませんが、おそらく

function NewCheckBoxImage() {

$('.gridAssigned input[type="checkbox"]').each(function () {
    var tr = $(this).closest('tr');
    if ($(this).is(':checked')) {
        tr.find('.NewBtnAssign').show();
        tr.find('.TextBoxCompany').hide();
        tr.find('.TextBoxBrand').hide();
        tr.find('.DDCompany').show();
        tr.find('.DDBrand').show();
    }
    else {
        tr.find('.NewBtnAssign').hide();
        tr.find('.TextBoxCompany').show();
        tr.find('.TextBoxBrand').show();
        tr.find('.DDCompany').hide();
        tr.find('.DDBrand').hide();
    }
    });

}
于 2013-10-10T08:15:34.557 に答える