如何编写可以返回3个可能选项的jquery函数

如何编写可以返回3个可能选项的jquery函数,jquery,Jquery,我有一个基本点计数器小部件,我正在工作。我之前有一个问题得到了回答,以帮助我行动起来。但我还有最后一个问题。基本上,我有一个函数将返回true或false,但我需要第三个选项 逻辑是: 若输入字符数在范围内,则用户获得点数 如果用户编辑和计数保持在范围内,则没有新点 若用户编辑和计数在范围内后超出范围,那个么用户将失去点数 我想我是对的,只是不知道如何完成这个功能 var检查=false; 函数titleInc(){ 变量长度=$('#title').val().length; 如果(长度

我有一个基本点计数器小部件,我正在工作。我之前有一个问题得到了回答,以帮助我行动起来。但我还有最后一个问题。基本上,我有一个函数将返回true或false,但我需要第三个选项

逻辑是:

  • 若输入字符数在范围内,则用户获得点数
  • 如果用户编辑和计数保持在范围内,则没有新点
  • 若用户编辑和计数在范围内后超出范围,那个么用户将失去点数
我想我是对的,只是不知道如何完成这个功能

var检查=false;
函数titleInc(){
变量长度=$('#title').val().length;
如果(长度>=5和长度10){
//将函数设置为返回减量
}否则{
返回false;
}
$('#title').blur(函数(){
var current=parseInt($('#end_val').val(),10);
if(titleInc()){
$('end_val').val(当前+12);
}如果(){
//需要有一种方法来减少
}
});
});
var选项={
增量:1,
减量:2,
doNothing:3
};
函数titleInc(){
变量长度=$('#title').val().length;
如果(长度>=5和长度10){
返回选项。减量;
}否则{
返回选项。没有选择;
}
$('#title').blur(函数(){
var current=parseInt($('#end_val').val(),10),
选项=titleInc();
如果(选项===options.increment){
$('end_val').val(当前+12);
}else if(选项===选项.减量){
$('end'u val').val(当前-12);
}
});

返回一个数字如何?Javascript可以返回数字,也可以返回布尔值这是一个优雅且可扩展的解决方案我弄糟了,但减量似乎不起作用…我是否遗漏了什么:
length<20&&length>120
。这表示长度必须小于20且大于120。我想你是说n小于20或大于120。另外,
dialCheck=true
是赋值,而不是布尔逻辑。您可能需要
dialCheck&&(长度<20 | |长度>120)
还有一个问题:如果我要对多个字段使用此选项,我是否需要创建多个dialCheck变量?如dialCheckTitle、dialCheckDesc…或dialCheck是否会成为每个函数的上下文?我不确定您的设计是什么或您想要什么,但听起来您需要多个dialCheck和一个dialOptions枚举。
 var check = false;

 function titleInc() {
     var length = $('#title').val().length;
     if (length >= 5 && length <= 10 && !check) {
         check = true;
         return true;
     } else if (check  && length < 5 && length > 10) {
         // Set the function to return DECREMENT
     } else {
         return false;
     }

     $('#title').blur(function () {
         var current = parseInt($('#end_val').val(), 10);
         if (titleInc()) {
             $('#end_val').val(current + 12);
         } else if(  ){
         // THERE NEEDS TO BE A WAY TO DECREMENT
         }
     });

 });
var options = {
         increment: 1,
         decrement: 2, 
         doNothing: 3
     };

 function titleInc() {
     var length = $('#title').val().length;
     if (length >= 5 && length <= 10 && !check) {
         check = true;
         return options.increment;
     } else if (check  && length < 5 && length > 10) {
         return options.decrement;
     } else {
         return options.doNothing;
     }

     $('#title').blur(function () {
         var current = parseInt($('#end_val').val(), 10),
             option = titleInc();
         if (option === options.increment) {
             $('#end_val').val(current + 12);
         } else if(option === options.decrement){
             $('#end_val').val(current - 12);
         }
     });