【发布时间】:2013-10-03 14:07:52
【问题描述】:
我有一个输入字段,可以从 db 中获取它的值,可以说值是 M、K、H、J、V 或 G,具体取决于它需要用 aaa、bbb、ccc、ddd 打开 div 的值, eee 或 fff 作为文本。
页面上显示的代码如下,我省略了该部分正在工作的数据库中的检索部分(输入框显示 M、K、H、J、V 或 G,具体取决于 id。)
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>";
当我在开发人员模式下检查源代码时,它显示数据相关项部分已从数据库中正确检索:
<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中
【问题讨论】:
-
你为什么不做一个ajax调用并根据你输入的字符串将你想要的输出加载到一个div中?
-
我不知道如何进行 ajax 调用,而且我没有输入字符串。值 M、K、H、J、V 或 G 是从我没有填写的 DB 中检索的。
-
我觉得你的问题有点不对?所以你想要复选框/下拉列表/..?要填充这些内容并单击它们,您想要一个带有指定文本的 div 吗?
-
值 M、K、H、J、V 或 G 从 DB 中检索并插入到文本框中。现在我想要一个 js 代码,当文本框为 M 时显示 div id M 或在文本框为 J 时显示 div id J。我的问题变得复杂,因为我试图用我从互联网上挑选的一段代码来做到这一点。我不能只要求某人为我编写代码,这将是最简单的方法,但对所有 SO 贡献者来说也很烦人。
-
好吧,你完全失去了我:我唯一能说的是:1.你根据你从数据库中获得的值创建一个 div,或者创建一个类似下拉列表的东西,然后创建div 根据,但是如果你在文本框中加载所有数据,你不能用它做任何事情吗?
标签: javascript php html textbox