2013-06-26 40 views
0
script language="javascript" type="text/javascript"> 

function moveNumbers(num) { 
if(document.getElementById("selector").checked){ 
var txt=document.getElementById("result").value; 
txt=txt + num; 
document.getElementById("result").value=txt; 
} 
else{ 
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' id='selector' 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部分列出了旁邊有複選框的圖像文件。我遇到的問題是隻有帶複選框的列表中的第一個圖像纔會將文本輸入添加到文本區域。一旦選中第一個複選框,其他複選框將起作用?有任何想法嗎?乾杯。只有第一個檢查工作 - 其他人只有在選擇第一個複選框時纔有效

回答

2

你在你的javascript使用此:

if(document.getElementById("selector").checked){ 

和所有的複選框具有相同的ID #selector使你的JavaScript將使用它找到的第一個。請注意,你的html中不能有重複的ID。

+0

我想知道,基本上我試圖讓複選框的行爲像E.G.選中 - >添加文本,未選中 - >刪除文本。我之前在工作。函數moveNumbers(num){txt} {txt = document.getElementById(「result」).value; txt = txt + num; document.getElementById(「result」)。value = txt; } else { document.getElementById(「result」)。value = txt =「」; } } – CPM

+0

@ user1829346你可能可以通過發送'this'作爲參數而不是'this.value'來輕鬆解決這個問題。使用'this'將允許您訪問函數中當前單擊的複選框的所有屬性。 – jeroen

+0

全部排序感謝.... – CPM

相關問題