php - 多个复选框输入到文本区域 - 添加文本 - 从文本区域删除文本

标签 php javascript html

<script language="javascript" type="text/javascript">

function moveNumbers(num) { 
var txt=document.getElementById("result").value; 
txt=txt + num; 
document.getElementById("result").value=txt; 
} 
</script>

<textarea id="result" name="image_id" rows="8" cols="11" readonly>

</textarea>
<tr>

<?php
$path = "photos/";
$dir_handle = @opendir($path) or die("Unable to open folder");
echo "<table height='500px'width='800px'align='center'border='1'>";
echo "<tr>";
while (false !== ($file = readdir($dir_handle))) {

if($file == "index.php")
continue;
if($file == ".")
continue;
if($file == "..")
continue;
{
echo ($x % 6 == 0) ? "</tr><tr>" : "";
echo "<td><input type='checkbox' name='add' value='$file'             
onclick='moveNumbers(this.value)'>
<img src='photos/$file'alt='$file' style='height:auto;width:50%;'alt='$file'>
<br>
$file
</td>";
$x++;
}
}
echo "</tr>";
echo "</table>";
closedir($dir_handle);
 ?>

大家好,PHP 查找图像文件并用旁边的复选框显示它们。我在输入文本区域的复选框时遇到问题。选中时,它会添加文本,然后当您取消选中时,它会再次添加相同的文本。我正在尝试执行以下操作:选中 -> 添加文本,取消选中相同的复选框 -> 删除文本。有什么想法吗?

最佳答案

如果您想任意添加事先未知的文本,然后将其删除,则需要保留已添加的项目列表并每次重新生成结果,或者进行搜索/替换操作将其删除。我认为保留列表更容易:

var itemsAdded = Array();

function moveNumbers(text) { 
   var i = itemsAdded.indexOf(text)
   if ( i >= 0) { 
       itemsAdded.splice(i,1); 
   } else {
       itemsAdded.push(text);
   }
   document.getElementById("result").value=itemsAdded.join(" "); //if you want each on a separate line, use "\n" instead of " "
} 

关于php - 多个复选框输入到文本区域 - 添加文本 - 从文本区域删除文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17310423/

相关文章:

php - 无法调试失败的 SQL 查询

javascript - 如何从主字符串中获取子字符串值?

javascript - 使用 FirefoxDriver 时隐藏浏览器

javascript - 使用 jQuery 从 Ajax 响应构建表行(不使用静态 json 数据)

java - 使用 getAttribute 方法获取类的值

PHP - 每次迭代查询单个值或在开始时获取所有值并从数组中检索?

php - Laravel Socialite - 谷歌登录失败 “Missing required parameter: code”

php - Symfony2 在自定义文件夹中生成 Controller

javascript - 微软风格的标签

jquery - 为引导导航栏和照片添加半透明,并增加字体大小