0

javascript関数で値を設定する必要があるテキストボックスがあります。グリッドでチェックされているチェックボックスの数を計算し、その値を非表示フィールドに割り当て、その値をテキスト ボックスに割り当てます。以下はJS関数です。

function CountChkBx_tpm() {
        var gvTrNomList = document.getElementById("gvTrNomList");
        var numChecked = document.getElementById("hdn2");
        var frm = document.forms['gvTrNomList'];
        var flag = false;
        for (var i = 0; i < document.forms[0].length; i++) {
            if (document.forms[0].elements[i].id.indexOf('IsTPMSelected') != -1) {
                if (document.forms[0].elements[i].checked) {
                    numChecked = numChecked + 1;
                }
            }
        }

        if (numChecked > 0)
            document.getElementById('<%=txtTPMRecom.ClientID %>').Value = numChecked;
        else
            document.getElementById('<%=txtTPMRecom.ClientID %>').Value = '0';
    }

グリッド内のチェックボックスの OnClick で呼び出されています。

<ItemTemplate>
                                <asp:CheckBox type="checkbox" runat="server" ID="IsTPMSelected" onclick="CountChkBx_tpm()" />
                            </ItemTemplate>

同じ機能が、別のテキストボックスの値を設定する別のJS関数を持つ別のチェックボックスに使用されています..そしてそれは完全にうまく機能しています!! 何が問題になる可能性があります!!

  function CountChkBx() {
        var gvTrNomList = document.getElementById("gvTrNomList");
        var numChecked = document.getElementById("hdn");
        var frm = document.forms['gvTrNomList'];
        var flag = false;
        for (var i = 0; i < document.forms[0].length; i++) {
            if (document.forms[0].elements[i].id.indexOf('IsPocSelected') != -1) {
                if (document.forms[0].elements[i].checked) {
                    numChecked = numChecked + 1;
                }
            }
        }

        if (numChecked > 0) {

            document.getElementById('<%=txtCounterConfirmation.ClientID %>').value = numChecked;

        }
        else {
            document.getElementById('<%=txtCounterConfirmation.ClientID %>').Value = '0';
        }
    }

これは次のチェックボックス用です

             <ItemTemplate>
                                <asp:CheckBox type="checkbox" runat="server" ID="IsPocSelected" onclick="CountChkBx()" />
                            </ItemTemplate>
                        </asp:TemplateField>

テキスト ボックスは次のとおりです。

        <td style="width: 100px">
                            <asp:TextBox ID="txtCounterConfirmation" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        </td>
                        <td style="width: 100px">
                            <asp:TextBox ID="txtTPMRecom" runat="server"></asp:TextBox>
                        </td>
4

1 に答える 1

0

私があなたが使う必要があると思う限り

document.getElementById('<%=txtTPMRecom.ClientID %>').value

それ以外の

document.getElementById('<%=txtTPMRecom.ClientID %>').Value

JavaScriptコードの締めくくり

function CountChkBx_tpm() {
        var gvTrNomList = document.getElementById("gvTrNomList");
        var numChecked = document.getElementById("hdn2");
        var frm = document.forms['gvTrNomList'];
        var flag = false;
        for (var i = 0; i < document.forms[0].length; i++) {
            if (document.forms[0].elements[i].id.indexOf('IsTPMSelected') != -1) {
                if (document.forms[0].elements[i].checked) {
                    numChecked = numChecked + 1;
                }
            }
        }

        if (numChecked > 0)
            document.getElementById('<%=txtTPMRecom.ClientID %>').value = numChecked;
        else
            document.getElementById('<%=txtTPMRecom.ClientID %>').value = '0';
    }
于 2012-09-05T12:22:04.510 に答える