我想使用when
或then
方法jQuery
检查值,但它似乎没有按预期方式工作。该脚本适用于if参数,但不适用于when。
$.when($(".myClass").val() !== undefined).then(function(){
console.log("$(".myClass").val()));
});
总是返回undefined
。它不会等待元素有一个值。然而,这与if参数一起工作。
任何想法上面的代码有什么问题,以及如何解决它?
我想使用when
或then
方法jQuery
检查值,但它似乎没有按预期方式工作。该脚本适用于if参数,但不适用于when。
$.when($(".myClass").val() !== undefined).then(function(){
console.log("$(".myClass").val()));
});
总是返回undefined
。它不会等待元素有一个值。然而,这与if参数一起工作。
任何想法上面的代码有什么问题,以及如何解决它?
它不等待元素有一个值。
这不是$.when
所做的。
但是,这适用于if参数。
if
不会等待它有一个值。
任何想法上面的代码有什么问题,以及如何解决它?
在元素上注册一个处理程序,以处理要用来触发值检查的任何事件。常用的选项是change
和input
,但它取决于它是什么样的控制。因此,举例来说,以大钩change
和input
:
$(".myClass").on("change input", function() {
console.log($(this).val());
});
谢谢,但这不适用于我的用例。该功能应该在页面刷新后在屏幕上出现时立即开始(值在该时刻改变)。加载事件仅适用于缓存为空的情况。 – Andi
@Andi:然后你应该发布一个新的问题来显示你的用例(详细地说;最好用一个[mcve]使用Stack Snippets [[<]]按钮使其运行)。人们会很乐意帮助(包括我自己在内)。 *这个*问题不包含任何关于出现的元素等; *问*已被回答。 –
我做的,当我来到这些情况是,我读了函数的文档我试图在你的情况下使用here
你正在尝试类似于:
$(".btn").on("click", function() {
var value = $(".myClass").val();
if(value != "")
console.log(value);
});
'$ .when' is asynchronous –