0

好的,所以我正在编写一个代码,它根据三个文本框的值和单选按钮列表中的选择来计算成本。该页面使用 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]); });
});   

当单选按钮输入在任何时候更改时,它将运行计算代码。您无法将代码添加到 a radiobuttonlist,因此您必须以另一种方式进行。

于 2012-08-02T12:42:59.870 回答
0

默认情况下,RadioButtonList 呈现为表格,因此它将 onclick 处理程序添加到表格而不是单选输入元素。将RepeatLayout 属性更改为RepeatLayout.Flow 并查看是否可行。

于 2012-08-01T21:20:39.880 回答