2016-03-08 6 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

Ваш 'этот' не относится к тому, что вы думаете, что делает ваш вопрос непонятным. Теперь, чтобы ответить на ваш вопрос, вам нужно проверить значение 'defaultValue' по сравнению с текущим. И это, очевидно, должно выполняться после некоторого взаимодействия с пользователем, например, с использованием события изменения –

ответ

0

Как у вас есть несколько входов на странице, для каждого вы должны проверить значение. Следующий код работает для вас

$(function() { 

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

}) 

Вот JSFiddle код.

Обратите внимание, что это будет работать только при загрузке страницы. Если вы хотите изменить цвет меток, когда вводимые значения изменены, вам придется использовать обработчик изменений ввода для него.

Смежные вопросы