2016-03-08 89 views
-3

我有这个脚本来检测输入值。如果我写下一些输入内容,它会工作得很好,但是如果输入具有预先编译好的数据,为什么这样做会起作用?jQuery检测输入值

if ($("input").val().length != 0) { 
    $(this).siblings().css ({ 
     top: "20px", 
     left: "0", 
     fontSize: ".7em", 
     color: "#8B8B8B" 
    });  
}; 

这里是我的codepen http://codepen.io/anon/pen/qZZBXr?editors=1010

+2

你能发布完整的代码吗?你的钢笔什么都不做。 – vcanales

+2

你的问题似乎有点不清楚。至少对我来说。请通过添加更多关于您想要做什么以及哪些不起作用的详细信息来纠正您的问题。 – Ionut

+0

你的'this'不是指你的想法,使你所有的问题都不清楚。现在回答你的问题,你需要检查'defaultValue'与当前的比较。这应该明显在一些用户交互之后完成,例如使用更改事件 –

回答

0

当你在网页上有多个输入,对于每一个你必须检查值。以下代码应该适用于您

$(function() { 

    $("input").each(function(input) { 
    if ($(this).val().length != 0) 
    { 
     $(this).siblings().css({ 
     top: "20px", 
     left: "0", 
     fontSize: ".7em", 
     color: "#8B8B8B" 
     }); 
    }; 
    }) 

}) 

这里是JSFiddle的代码。

请注意,这只适用于网页加载。如果您想在输入值更改时更改标签的颜色,则必须使用输入更改处理程序。