2014-09-26 2 views
0
$(document).ready(function() { 
    $("input#Q4_5other").focus(function() { 
     $(this).prev().prop("checked", True); 
    }); 
}); 

Я пытаюсь «проверить» флажок, когда кто-то начинает вводить текстовое поле «Другое». Может ли кто-нибудь поделиться со мной лучшей практикой для этого? Благодарю.Установите флажок напротив другого текстового поля?

+0

Истина должна быть строчной строкой. Вы можете также проверить значение на blur – mplungjan

+0

http://jsfiddle.net/qtjskwwo/ –

+2

http://jsfiddle.net/L7j15kwd/ –

ответ

1

Ответил спрашивающий вопрос в разделе комментариев чуть ниже теперь вопрос спрашивающий продлил вопрос, поэтому я отправлю ответ здесь.

Попытка связать несколько событий 'focus ,blur, keyup', как показано ниже:

$(document).ready(function() { 
    $("#Q4_5other").on('focus blur keyup', function()() { 
     $(this).prev().prop("checked", $.trim($(this).val()) != "");  
    }); 
}); 

Working DEMO

EDIT: - В соответствии с спрашивающий комментарий (поля ввода внутри этикетки) попробуйте это:

$(document).ready(function() { 
    $("#Q4_5other").on('focus blur keyup', function() { 
     $(this).prev().find('input[type=checkbox]').prop("checked",$.trim($(this).val()) != "");  
    }); 
}); 

Working DEMO

ПРИМЕЧАНИЕ. - Поскольку дознаватель не дал структуру DOM, поэтому я просто отправляю ответ в соответствии с ссылкой на веб-сайт, указанный в комментариях ниже вопроса.

+1

@chrisb ... Я думаю, что это то, что вы хотите. –

+0

Спасибо вам большое. Я глубоко ценю ваше время и ваш опыт. – chrisb

+1

Хорошее использование trim .... – mplungjan

0

fiddle

$(document).ready(function() { 
    $("input").keyup(function() { 
     // alert('d'); 
     $(this).prev("input[type=checkbox]").prop("checked", true);; 
    }); 
}); 
+2

всегда объяснял ответ, который вы опубликовали, чтобы другие могли легко получить его. –

+0

Хорошо, я здесь новый. Спасибо за предложение :) – divakar

1

Я предлагаю следующее: проверить при входе, но проверить значение при выходе или редактирование контента

$(function() { 
    $("#Q4_5other") 
    .on('focus', function() { 
     $(this).prev().prop("checked", true); 
    }) 
    .on('blur keyup', function() { 
     $(this).prev().prop("checked", $.trim(this.value)!=""); 
}); 
+0

его 'keyup' не' ketup'. –

+0

Спасибо. На моем телефоне в 6 утра – mplungjan

+0

@mplungjan Вот моя проблема, чтобы это работало с вводом, заключенным в теги меток http://jsfiddle.net/L7j15kwd/ – chrisb

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