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