使用单击按钮单击,MVC和JQuery调用操作

时间:2013-03-06 09:01:51

标签: asp.net-mvc jquery

我有两个单选按钮,并希望在单选按钮上添加一个单击事件,这样当有人点击一个单选按钮时,它会调用一个动作来呈现局部视图,这是我的单选按钮:

<p>
<input id="SelectedInterestRate" type="radio" value="1" name="SelectedInterestRate"     data-val-number="The field must be a number." data-val="true">
<input id="Term" type="hidden" value="12" name="Term">
<input id="InterestRate" type="hidden" value="12.5" name="InterestRate">
<label for="SelectedInterestRate">Finance Test (12.5% APR - 12 Months)</label>
<input id="SelectedInterestRate" type="radio" value="2" name="SelectedInterestRate">
<input id="Term" type="hidden" value="12" name="Term">
<input id="InterestRate" type="hidden" value="18.25" name="InterestRate">
<label for="SelectedInterestRate">Direct finance (18.25% APR - 12 Months)</label>
</p>

我的Javascript看起来像这样(我知道这是错的)

$('[name="SelectedInterestRate"]').change(function() {
        alert("interesting here .......");
         var repayblein = $(this).closest("div.divFinanceDetails").find("input Term").val();
    $.ajax({
        type: "POST",
        url: "FinancePayment/SelectedRepaymentMethod",
        data: {
            InterestRate: $(this).closest("div.divFinanceDetails").find("input InterestRate").val(),
            RepayableIn: repayblein
        },
        success: function (partialView) {
            $("FinanceDetailsPlan").html(partialView);
        }
    });
    });

有意见的人吗?

2 个答案:

答案 0 :(得分:0)

您的选择器存在一些问题。按ID选择时,必须在选择器前加#作为前缀。此外,您的一些元素具有重复的ID,这不是一个好的做法,并且选择非常困难。

此外,div.divFinanceDetails是什么?它甚至不在你发布的代码中

考虑到这些要点,试试这个:

$('[name="SelectedInterestRate"]').change(function() {
    alert("interesting here .......");
    var repayblein = $(this).closest("div.divFinanceDetails").find("input[name='Term']").val();
$.ajax({
    type: "POST",
    url: "FinancePayment/SelectedRepaymentMethod",
    data: {
        InterestRate: $(this).closest("div.divFinanceDetails").find("input[name='InterestRate']").val(),
        RepayableIn: repayblein
    },
    success: function (partialView) {
        $("#FinanceDetailsPlan").html(partialView);
    }
});
});

答案 1 :(得分:0)

答案是:

$(':input[name="SelectedInterestRate"]').change(function() {
    alert("interesting here .......");
     var repayblein = $(this).closest("div.divFinanceDetails").find("input Term").val();
$.ajax({
    type: "POST",
    url: "FinancePayment/SelectedRepaymentMethod",
    data: {
        InterestRate: $(this).closest("div.divFinanceDetails").find("input InterestRate").val(),
        RepayableIn: repayblein
    },
    success: function (partialView) {
        $("FinanceDetailsPlan").html(partialView);
    }
});
});