如果前两个条件返回true,我将如何获取if语句的最后一部分:
这是我的代码:
// main chat code
$(function () {
var IWannaChat = $.connection.myChatHub;
IWannaChat.client.addMessage = function (message) {
$('#listMessages').append('<li>' + message + '</li>');
};
$("#sendMessage").click(function () {
$('#ideaTitle,#ideaBody').each(function () {
if ($.trim($(this).val()).length === 0) {
alert('empty');
return false;
}
else if ($.trim($(this).val()) === $(this).data('default')) {
alert('default');
return false;
}
IWannaChat.server.send($('#ideaBody').val());
$.connection.hub.start();
})
});
});
答案 0 :(得分:2)
$("#sendMessage").click(function () {
$('#ideaTitle,#ideaBody').each(function () {
var $this = $(this),
currValue = this.value,
trimmedValue = $.trim(currValue),
dataValue = $this.data('default');
if (trimmedValue.length === 0 && (trimmedValue === dataValue)) {
IWannaChat.server.send($('#ideaBody').val());
$.connection.hub.start();
} else if (trimmedValue.length === 0) {
alert('empty');
return false;
} else if (trimmedValue === dataValue) {
alert('default');
return false;
}
})
});
您在代码中多次使用相同的值。缓存值并使用&&
到俱乐部2状态网络
答案 1 :(得分:1)
你可以自己回复条件:
$("#sendMessage").click(function () {
$('#ideaTitle,#ideaBody').each(function () {
var empty = $.trim($(this).val()).length === 0,
def = $.trim($(this).val()) === $(this).data('default');
if (empty) {
alert('empty');
}
else if (def) {
alert('default');
}
IWannaChat.server.send($('#ideaBody').val());
$.connection.hub.start();
return !empty && !def;
});
});
就个人而言,我发现这更具可读性。
答案 2 :(得分:1)
使用变量来跟踪是否满足早期条件。
$("#sendMessage").click(function () {
$('#ideaTitle,#ideaBody').each(function () {
var doit = true;
if ($.trim($(this).val()).length === 0) {
alert('empty');
doit = true;
}
else if ($.trim($(this).val()) === $(this).data('default')) {
alert('default');
doit = true;
}
if (doit) {
IWannaChat.server.send($('#ideaBody').val());
$.connection.hub.start();
}
})
});