0

下面是我用来尝试在我的 ASP MVC 3 视图中将.blur事件附加到单选按钮(此代码在里面)的语法。document.ready

我也没有在 Chrome 的调试控制台或源控制台中看到任何错误。我也在 IE 中尝试过,但无法让它工作(我读过 Chrome 有blur事件问题)。任何帮助将不胜感激。

我尝试了以下标签:#AlignmentL#AlignmentL:radio没有任何运气。

    $('AlignmentL:radio').blur(function () {
        alert('Inside AlignmentL');
        if ($('#LocationZip').val() != "" && $('#LocationState').val() != "" && $('#channelName').html() != "") {
            getDrmTerritory($('#LocationZip').val(), $('#LocationState').val(), $('#channelName').html());
        }
        else if ($('#channelName').html() != "") {
            $('#channelName').html() = "";
        }
    });

编辑

这是来自 ASP MVC 视图的相关 HTML

    <div class="M-editor-label">
        @Html.LabelFor(model => model.AlignmentAddressInd)<span class="req">*</span>
    </div>
    <div class="M-editor-field" onclick="CheckTerritory('align');">
        @Html.RadioButtonFor(model => model.AlignmentAddressInd, "M", new { Checked = "checked", id = "AlignmentM" }) Mailing  
        @Html.RadioButtonFor(model => model.AlignmentAddressInd, "L", new { id = "AlignmentL" }) Location 
        @Html.ValidationMessageFor(model => model.AlignmentAddressInd)
    </div>

第二次编辑

我突然想到,因为我.blur在两个单选按钮上都有这个设置,我可能有一个取消另一个。这是完整的部分

    $('#AlignmentL:radio').blur(function () {
        alert('Inside AlignmentL');
        if ($('#LocationZip').val() != "" && $('#LocationState').val() != "" && $('#channelName').html() != "") {
            getDrmTerritory($('#LocationZip').val(), $('#LocationState').val(), $('#channelName').html());
        }
        else if ($('#channelName').html() != "") {
            $('#channelName').html() = "";
        }
    });

    $('#AlignmentM:radio').blur(function () {
        alert('Inside AlignmentM');
        if ($('#MailingZip').val() != "" && $('#MailingState').val() != "" && $('#channelName').html() != "") {
            getDrmTerritory($('#MailingZip').val(), $('#MailingState').val(), $('#channelName').html());
        }
        else if ($('#channelName').html() != "") {
            $('#channelName').html() = "";
        }
    });

第三次编辑

没关系,我评论了其中一个单选按钮,但它仍然无法正常工作。

4

2 回答 2

1

我不得不放弃该.blur方法(无论如何这可能是更好的主意,因为我希望这些事件在单击时触发,而不是在它们失去焦点时触发)并使用.change. 现在一切正常。

    $('#AlignmentM:radio').change(function () {
        alert('Inside AlignmentM');
        var channel = $.trim($('#channelName').html());
        if ($('#MailingZip').val() != "" && $('#MailingState').val() != "" && channel != "") {
            getDrmTerritory($('#MailingZip').val(), $('#MailingState').val(), channel);
        }
        else if ($('#territoryName').html() != "") {
            $('#channelName').html() = "";
        }
    });

    $('#AlignmentL:radio').change(function () {
        alert('Inside AlignmentL');
        if ($('#LocationZip').val() != "" && $('#LocationState').val() != "" && $('#channelName').html() != "") {
            getDrmTerritory($('#LocationZip').val(), $('#LocationState').val(), $('#channelName').html());
        }
        else if ($('#territoryName').html() != "") {
            $('#channelName').html() = "";
        }
    });
于 2013-04-30T20:28:15.490 回答
0

你错过了#那里

 $('#AlignmentL:radio').blur(function () {

或类似的东西

$('#<%=AlignmentL.ClientId %>:radio').blur(...
于 2013-04-30T17:28:42.290 回答