Jquery .val() == ** 添加多个可能的答案 **.
Jquery .val() == ** adding multiple possible answers **
我通过执行以下操作来实现这一点,但作为javascript和jquery的新手,我想知道是否有任何更短的方法来添加多个可能的值。
if ($("input:first").val().toUpperCase() == "UNITED STATES" || $("input:first").val().toUpperCase() == "USA" || $("input:first").val().toUpperCase() == "AMERICA") {
$("#check").text("Correct!").show().fadeOut(5000);
return true;
喜欢
if ($("input:first").val().toUpperCase() == ("UNITED STATES","USA","AMERICA")) {
$("#check").text("Correct!").show().fadeOut(5000);
return true;
通过这只验证在这种情况下的最后答案 美国.
使用 $.inArray():
if( $.inArray( $("input:first").val().toUpperCase(), [ "UNITED STATES", "USA", "AMERICA" ] ) > -1 ) { ...
演示:http://jsfiddle.net/4ar2G/
您可以使用键是必需值和 in
运算符的对象:
var matches = { 'UNITED STATES': 1, 'USA': 1, 'AMERICA': 1 };
if ($("input:first").val().toUpperCase() in matches) {
...
}
根据我的经验,这实际上非常高效 - Javascript 相当擅长查找对象的属性,并且它避免了线性数组扫描,因此对于较大的数组,它是O(log n)
而不是O(n)
。
不过,如果您弄乱了Object.prototype
,请不要使用!
为了平衡起见,等效的非jQuery方式(因为jQuery并不自动意味着更好):
if(["UNITED STATES", "USA", "AMERICA"].indexOf($('input:first').val().toUpperCase()) > -1) {
$("#check").text("Correct!").show().fadeOut(5000);
return true;
}
试试这个:
if($.inArray($("input:first").val().toUpperCase(), ["UNITED STATES","USA","AMERICA"]) > -1){
$("#check").text("Correct!").show().fadeOut(5000);
return true;
}
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击添加按钮后如何显示答案按钮
- 添加值以使用 AngularJS 确定答案
- Jquery .val() == ** 添加多个可能的答案 **.
- 单击单选按钮时如何添加文本“正确答案”
- JavaScript添加给出了错误的答案
- 添加一个美元符号$到我的答案
- 如何添加一个可拖放的目标id到if语句来检查正确的答案
- 从两个文本框中添加值,并在单击按钮时将答案放在第三个文本框中
- 需要将多个答案添加到单个数组中
- 正确不是添加正确的答案