1

強調されたテキストここでは、jquery と Java スクリプトを使用して、リピーター コントロールの ASP テキスト ボックスの値を合計し、結果の ASP ラベルに結果を表示しています。jqueryでaspラベルに値を設定する方法を知りたいです。ここでエラーが発生しました The name 'lblTotal' does not exist in the current context...

if (objIndex == 0) {
                    objData = new Array();
                }
                objData[objIndex] = txtBoxValue;
                alert(secName);
                totamt = 120000;
                var Tot = 0;
                for (var i = 0; i < objData.length; i++) {
                    Tot = parseInt(Tot) + parseInt(objData[i]);
                }

                if (parseInt(Tot) > parseInt(totamt)) {
                        var a = $("#<%= lblTotal.ClientID%>").val('totamt');
                    alert(a);

                }
                else if (parseInt(Tot) <= parseInt(totamt)) {
                var b = $("#<%= lblTotal.ClientID%>").val('Tot');
                    alert(b);
                }
4

2 に答える 2

0

クライアント側 (JQuery コード) を使用してこれを行う場合は、ラベルを簡単に選択できるクラスをラベルに与える必要があります。たとえば、リピーター テンプレートから:

<ItemTemplate>
    ...
    <asp:Label runat='server' Text='' CssClass='class1 class2 totalable' />
    ...
</ItemTemplate>

次に、クライアント側のコードで、リピーターがレンダリングされた後totalable、クラスを持つすべてのラベルをループして追加を行うことができます。

したがって、値を合計したい時点で:

var total = 0;


$('.totalable').each(function () {
    //alert($(this).html());
    total+=  parseInt($(this).html());
    ....
});

alert('Total = ' + total);
于 2012-07-26T08:26:02.203 に答える
0

labelの中にあるRepeaterので直接見えないので使えません

<%= lblTotal.ClientID%>

次のようなコントロールを見つける必要があります

    var controls = yourParentControl.getElementsByTagName("SPAN");
//this will give you array of controls after that you should iterate in that 
//collection and find out the label you want to set total to.

labelsとしてレンダリングされるため、SPANSPANs

于 2012-07-26T07:04:31.137 に答える