Проверьте, пусто ли поле выбора людей с помощью jQuery?Jquery

Программирование на jquery
Ответить
Anonymous
 Проверьте, пусто ли поле выбора людей с помощью jQuery?

Сообщение Anonymous »

У меня есть следующий HTML
и я пытаюсь проверить, имеет ли поле выбора людей вообще какое-либо значение, но у меня не получается (не могу использовать атрибут ID для поиска элемент), я не уверен, какой элемент проверять.

У меня текущий код:

Код: Выделить всё

$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],select[title=Strategic Priority]").change(function(){
checkControls()
});
и здесь я хочу добавить что-то вроде
,select[title=Strategic Priority],textarea.ms-input"), но это не работает, есть идеи?

Заранее спасибо.

Изменить: код проверки:

Код: Выделить всё

    //bind a change event to all controls to validate
$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],textarea[id$=_UserField_downlevelTextBox],select[title=Strategic

Priority]").change(function(){
checkControls()
});

//the change event function - check the status of each control
function checkControls(){

//set a variable to count the number of valid controls
var controlsPassed = 0;

//set up a selector to pick .each() of the target controls
$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],textarea[id$=_UserField_downlevelTextBox],select[title=Strategic

Priority]").each(function(){

//if the control value is not zero AND is not zero-length
var val = $(this).val();
if($(this).is(':hidden') || (val != 0 && val.length != 0)) {

//add one to the counter
controlsPassed += 1;

}
});

//call the PreSaveItem function and pass the true/false statement of 5 valid controls
return (controlsPassed == 5);

}

function PreSaveItem() {
return checkControls()
}
edit2: Я думаю, это не работает, потому что другие элементы управления имеют атрибут значения. Если я вставляю что-то в поля даты, они получают, например, значение атрибута = «18/08/2010». Но с текстовой областью HTML здесь выглядит как (упрощенное) значение, так как я могу проверить, пусто оно или нет?

edit3:

Я изменилась

Код: Выделить всё

return (controlsPassed == 5);
до

Код: Выделить всё

return (controlsPassed == 4) && ( ($("textarea[title='People Picker'][value!='']").length==1) || $("textarea[title='People Picker'][value!='']").is(":hidden") );
Но если средство выбора людей скрыто (.hide()), оно все равно хочет его проверить, поэтому я подумал, что могу сделать что-то вроде:

Код: Выделить всё

if ($("textarea[title='People Picker'][value!='']").is(":hidden")) {
return (controlsPassed == 4)
}
else {
return (controlsPassed == 4) && ( ($("textarea[title='People Picker'][value!='']").length==1);
но нет, есть идеи?
>

Подробнее здесь: https://stackoverflow.com/questions/349 ... ith-jquery
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»