gpt4 book ai didi

javascript - If else 条件 Javascript

转载 作者:行者123 更新时间:2023-11-30 10:19:45 24 4
gpt4 key购买 nike

我的 UI 页面上有四个 TextField。我从所有 textfields 获取用户的 input 值,例如值 Textfield1.getvalue(),Textfield2 .getvalue(),Textfield3.getvalue(),Textfield4.getvalue().

现在单击按钮,我需要检查用户实际填写了哪些文本字段并附加我需要向服务器发送 http 请求以查询数据库的那些值。这些值用于过滤表中的值。所以基本上这些值是 "TABLE COLUMN" 值。为此,我想到了使用老派组合,例如:

if  (Textfield1.getvalue()=="" && Textfield2.getvalue()!=""){
//do something
}
else if (Textfield2.getvalue()=="" && Textfield3.getvalue()!=""){
//do something
}
else if (Textfield3.getvalue()=="" && Textfield4getvalue()!=""){
//do something
}
......

and so on.

这个,个人感觉效率不高,也不是好的编程方式。我很确定可能还有其他一些我不知道的方法,也无法通过谷歌搜索找到它。任何人都可以分享一些想法以获得更好的解决方案。

提前致谢。

最佳答案

如果你想根据第一个有值的字段做某事,至少你的样本看起来是这样,你可以做类似的事情:

» Simple Fiddle. «

var do_something = {
0 : function(val) { console.log("Doing x width " + val)},
1 : function(val) { console.log("Doing y width " + val)},
2 : function(val) { console.log("Doing z width " + val)},
3 : function(val) { console.log("Doing w width " + val)},
}

$("#post").on("click", function() {
var val;
$(".test").each(function(i) {
val = $(this).val();
if (val) {
do_something[i](val);
return false; // Break
// (Or omit the break if you want to "do_something" with all fields
// having a value.)
}
});
});

或者,根据各种情况,更好的解决方案可能是:

var do_something2 = {
act1 : function(k, val) { console.log("Doing x width " + val + " k=" + k) },
act2 : function(k, val) { console.log("Doing y width " + val + " k=" + k) },
act3 : function(k, val) { console.log("Doing z width " + val + " k=" + k) }
};

$("#post2").on("click", function() {
var val;
$(".test").each(function(i) {
val = $(this).val();
if (val) {
do_something2[$(this).data("act")](i, val);
return false; // Break
}
});
});

如果您有这样的输入字段(动态或以其他方式创建):

<input type="text" data-act="act1" class="test" value="one" />
<input type="text" data-act="act2" class="test" value="two" />

通过这种方式,您还可以通过将 data-act 值设置为想要的功能来轻松更改每个字段所采取的操作。

关于javascript - If else 条件 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21922974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com