下面是我用来在ASP MVC 3视图中的文本框中放置blur
事件的代码。如果#MailingState
为空,则代码可以正常工作,但是无法确定#channelName
是否为空。
例如,如果#channelName
为空,但#MailingState
不是,那么当我在#MailingZip
中放置一个值时,每次都会触发getDrmTerritory
Ajax调用。
这是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
那个jQuery方法(
ChangeChannel
)将文本追加到channelName div
上,当它带有一个值呈现时,看起来像这样这是您从该图片检查
Life Sales
时获得的HTML 最佳答案
您可以像这样检查#channelName
是否为空:
if ( $('#channelName').is(':empty') )
并与这样的代码结合:
if ($('#MailingState').val() != "" && !$('#channelName').is(':empty'))