blur
下面是我用来在我的 ASP MVC 3 视图中的文本框上放置事件的代码。如果为空,则代码可以正常工作#MailingState
,但是它无法判断是否#channelName
为空。
例如,如果#channelName
为空但#MailingState
不是,那么当我在 Ajax 调用中放置一个值时,#MailingZip
每次getDrmTerritory
都会触发。
这是 jQuery
$('#MailingZip').blur(function () {
if ($('#AlignmentM').is(':checked')) {
if ($('#MailingState').val() != "" && $('#channelName').html() != "") {
getDrmTerritory($('#MailingZip').val(), $('#MailingState').val(), $('#channelName').html());
}
}
});
#channelName
这是它正在检查的段的 HTML
<div id="channelName" class="M-display-field">
@*this will be updated via ajax from Market Segment *@
@Html.DisplayFor(model => model.Channel, new { style = "margin-left: 300px;" } )
</div>
评论中提到的部分是通过另一个看起来像这样的 jQuery 方法更新的
function ChangeChannel() {
//this function called if Market Segment changes, to update the channel
var pendistcode = document.getElementById('Pendist');
if (pendistcode == null) alert('Error: Cannot find Market Segment control');
//alert('!pendistcode value is ' + pendistcode.value);
$.ajax({
type: 'POST',
url: '/AgentTransmission/GetChannel/',
data: { pendist: pendistcode.value },
success: function (data) {
// alert("success: " + data);
$('#channelName').html(data);
$('#Channel').val(data);
},
error: function (data) {
alert("failure to obtain Channel name");
}
});
CheckTerritory('channel');
} //end ChangeChannel
jQueryChangeChannel
方法div
(
这是您Life Sales
从该图片中检查时获得的 HTML