以下是我在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() = "";
}
});
第三次编辑
没关系,我评论了其中一个单选按钮,它仍然无法正常工作。
答案 0 :(得分: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() = "";
}
});
答案 1 :(得分:0)
你错过了#
那里
$('#AlignmentL:radio').blur(function () {
或类似
$('#<%=AlignmentL.ClientId %>:radio').blur(...