0

了解しました。3つのテキストボックスの値とラジオボタンリストからの選択に基づいてコストを計算するコードを作成しています。このページはASP.netコントロールを使用しています。次のスクリプトは、各テキストボックスのonBlurで実行され、合計を更新して別のtexboxに表示します。

function calcTotal(form) {
var total = 0;

var sellingthings = $(form).find('.payable');

var adultLunch = $(form).find('.adultLunch');
var lunch1 = $(adultLunch).val();
var childLunch = $(form).find('.childLunch');
var lunch2 = $(childLunch).val();
var semTix = $(form).find('.seminarTix');
var tix = $(semTix).val();
var reg= $(form).find('.registration input:checked');
var regCost = $(reg).val();
//alert(regCost);

total = (10*lunch1 + 5*lunch2 + 40*tix + regCost*1);
var output = $(form).find('.total');
$(output).val(total);
} 

このコードはテキストボックスで機能し、.totalフィールドの値を更新します。ただし、同じコードはラジオボタンリストでは正しく機能しません。そのためのコードはここにあります:

<asp:RadioButtonList ID = "RegType" runat = "server" name="regType" onclick="calcTotal(this.form)">
    <asp:ListItem Value="50">Family ($50)</asp:ListItem>
    <asp:ListItem Value="35">Individual ($35)</asp:ListItem>
    <asp:ListItem Value="10">Student ($10)</asp:ListItem>
</asp:RadioButtonList>

なぜこれが起こるのか、どうすれば修正できるのか誰かが知っていますか?ありがとう!

4

3 に答える 3

1

コントロールのonClickプロパティがあるかどうかはわかりません。RadioButtonList

このチュートリアルを見て、役立つかどうかを確認してください。

于 2012-08-01T21:02:03.770 に答える
0

私は解決策を見つけました。Javascriptでは、次のコードを使用しました。

$(document).ready(function () {
    $(".registration input").change(function () { calcTotal(document.forms[0]); });
});   

ラジオボタンの入力が変更されると、計算コードが実行されます。にコードを追加することはできないradiobuttonlistため、別の方法で追加する必要があります。

于 2012-08-02T12:42:59.870 に答える
0

デフォルトでは、RadioButtonListはテーブルとしてレンダリングされるため、ラジオ入力要素ではなく、onclickハンドラーがテーブルに追加されます。RepeatLayoutプロパティをRepeatLayout.Flowに変更し、それが機能するかどうかを確認します。

于 2012-08-01T21:20:39.880 に答える