我有一个输入字段,它从db获取它的值,假设值是M,K,H,J,V或G,具体取决于打开div所需的值aaa,bbb,ccc,ddd, eee或fff as text。
页面上显示的代码如下:我从数据库正在工作的数据库中省略了检索部分(输入框根据ID显示M,K,H,J,V或G)。 / p>
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")){
解决方案由ROBERT ROZAS
解决方案是在jsfiddle
答案 0 :(得分:2)
我根据您提供的代码制作了此代码:
$(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/