У меня есть поле ввода, которое получает его значение из db, давайте скажем, что это значение M, K, H, J, V или G в зависимости от значения, которое необходимо открыть div с aaa, bbb, ccc, ddd, eee или fff как текст.
Код, который отображается на странице, следующий, я оставил часть извлечения из db, что часть работает (поле ввода показывает M, K, H, J, V или G в зависимости от идентификатора).
echo "<input type='text' name='periode' id='periode' data-related-item='" .$row['periode']. "' value='" .$row['periode']. "'>";
echo "<div class='hidden'><div id='M'>aaa</div></div>";
echo "<div class='hidden'><div id='K'>bbb</div></div>";
echo "<div class='hidden'><div id='H'>ccc</div></div>";
echo "<div class='hidden'><div id='J'>ddd</div></div>";
echo "<div class='hidden'><div id='V'>eee</div></div>";
echo "<div class='hidden'><div id='G'>fff</div></div>";
Когда я проверяю исходный код в режиме разработчика, он показывает, что часть, связанная с данными, правильно извлекается из db:
<input type="text" name="periode" id="periode" data-related-item="M" value="M">
Я хочу использовать следующий JS, но мне нужно изменить его для работы с текстовыми полями.
<script type="text/javascript">
function evaluate1(){
var item = $(this);
var relatedItem = $("#" + item.attr("data-related-item")).parent();
if(item.is(":checked")){
relatedItem.fadeIn();
}else{
relatedItem.fadeOut();
}
}
$('input[type="checkbox"]').click(evaluate1).each(evaluate1);
</script>
Самый простой подход - это переход на смену:
$('input[type="checkbox"]').click(evaluate1).each(evaluate1);
в
$('input[type="textbox"]').click(evaluate1).each(evaluate1);
Но что мне нужно сделать:
if(item.is(":checked")){
Спасибо за любую помощь заранее.
Я попробовал следующее, но это не работает.
if(item.is("M||K||H||J||V||G")){
РЕШЕНИЕ РОБЕРТА РОЗАСА
Решение находится в jsfiddle
Я сделал этот код на основе кода, который вы предоставляете:
$(document).ready(function(){
$("#periode").keyup(function(){
var valor = $("#periode").val();
$(".hidden").each(function(){
var hijo = $(this).children().attr('id');
if(hijo == valor)
{
$(this).removeClass("hidden");
}
});
});
});
Рабочая скрипка здесь: http://jsfiddle.net/robertrozas/dXTtz/2/
Этот способ работает с загрузкой страницы: http://jsfiddle.net/robertrozas/dXTtz/4/
Загрузка страницы и удаление лишних скрытых div: http://jsfiddle.net/dXTtz/5/