Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据php中附带的复选框更改生成的文本框可见性或启用状态_Javascript_Php_Jquery_Css_Checkbox - Fatal编程技术网

Javascript 根据php中附带的复选框更改生成的文本框可见性或启用状态

Javascript 根据php中附带的复选框更改生成的文本框可见性或启用状态,javascript,php,jquery,css,checkbox,Javascript,Php,Jquery,Css,Checkbox,我目前正在使用php显示一列编号的复选框,一个用于给定月份的每一天,在每个复选框旁边,我显示一个文本框以输入给定选中日期的可选注释。我希望通过基于相邻复选框状态显示/隐藏文本框或切换其禁用属性,限制用户仅在选中的天数内输入注释。我使用一个php循环来显示每天的表单元素,复选框命名为box[],文本框命名为comments[]。我知道我可以在将记录插入数据库之前丢弃未使用的输入,但我不想给用户留下这样的印象,即他们可以在未选择的日期放置保留的注释 while ($day_count <=

我目前正在使用php显示一列编号的复选框,一个用于给定月份的每一天,在每个复选框旁边,我显示一个文本框以输入给定选中日期的可选注释。我希望通过基于相邻复选框状态显示/隐藏文本框或切换其禁用属性,限制用户仅在选中的天数内输入注释。我使用一个php循环来显示每天的表单元素,复选框命名为box[],文本框命名为comments[]。我知道我可以在将记录插入数据库之前丢弃未使用的输入,但我不想给用户留下这样的印象,即他们可以在未选择的日期放置保留的注释

 while ($day_count <= $num_days){


 echo"<input name='boxes[]' type='checkbox' value='".$prov_id."_".$day_count."' />".$day_count."</input>";

   echo "Comment: <input name='comments[]' type='text' size='15' maxlength='255' />";
   echo "<br>";

$day_count++;   

while($day\u count您可以在Javascript中通过添加一个在选中复选框时被激发的函数来实现这一点。查看此堆栈溢出答案,了解如何实现此目的的示例:

在那里之后,您可以为此更改注释框的显示值,不过我建议将这些注释框包装在一个div中,并显示/隐藏整个div

因为PHP是服务器端的,所以当用户在PHP中检查和取消选中内容时,您将无法对页面进行任何更改,只需使用Javascript

要生成特定的名称,您可以使用您拥有的任何谨慎值,在您的情况下:$prov_id,伪代码如下:

<div id='$prov_id'>Input text code here</div>
在此处输入文本代码
然后在复选框的onchange方法中,传入该id


最后,对于javascript,只需选择id传递到参数中的div。
$(“#id”)

具体的问题是什么?我迄今为止的最佳尝试并没有产生文本框,当未选中相应的复选框时,这些文本框将被禁用。下面是最后尝试的方法:
while($day_count我查看了多个示例,并试图将它们应用到我的代码中,但我遇到了一些障碍,因为我试图处理名为comments[]的元素。是否有方法引用名为[]的div与注释框一样?或者以其他方式界定我在页面上的90个文本框div中哪些是隐藏的,哪些是显示的?我发现的示例涉及单个或非生成的元素,而不是通过循环填充的元素,因此不清楚如何将显示/隐藏功能限制在确切的所需div。更新了edit以上,希望这足够清楚,让你的道路上,但如果没有请让我知道