我的复选框做得很好,这是我的一个:
$(document).ready(function(){
$('input[type="checkbox"]').click(function(){
if($(this).prop("checked") == true){
document.getElementById("srt").value = document.getElementById("Ultra").value;
}
else if($(this).prop("checked") == false){
document.getElementById("srt").value = "";
}
});
});
在我的显示数据部分,我有一个用于显示所有记录的循环。单击复选框后,我想要从document.getElementById("Ultra").value
获得的值并显示在document.getElementById("srt").value
上。它只在1个记录下运行良好,我检查的其他记录都不起作用。我认为问题是我将其显示在<input type="text" id="srt">
上,并将文本框放在循环中以显示数据库。有什么帮助吗?
这是php的一部分:
for ( $v = 0 ; $v < mysql_num_rows($result) ; $v++ )
{
$row = mysql_fetch_assoc($result);
?>
<td><input type="checkbox"/></td>
<?php
echo'<td>'.$row['aaa'].'</td>';
echo'<td>'.$row['bbb'].'</td>';
echo'<td>'.$row['ccc'].'</td>';
echo'<td><input type="text" id="srt"></td>';//////this one to display value i get
echo'<td>'.$row['dddr'].'</td>';
}
该值仅显示在1行中。
我看到的一件事是,每个循环中都有<input type="text" id="srt">
。这意味着你的id不是唯一的,这可能会导致document.getElementById("srt").value = document.getElementById("Ultra").value;
调用出现问题。
尝试使id唯一(这意味着为每个文本框提供不同的id,可能类似于srt_'.$v.'
,并在jquery函数中检索正确的文本框id
)
PS:你能在php代码中显示"Ultra"输入吗?
编辑:要获得正确的文本框,您也可以为复选框设置一个id,并使用它来获得文本框的正确id。
在您的页面中:
echo'<td><input type="checkbox" id='.$v.'/></td>';
和
echo'<td><input type="text" id="srt'.$v.'"></td>';
在你的功能
if($(this).prop("checked") == true){
document.getElementById("srt"+this.id).value = document.getElementById("Ultra").value;
}
我没有测试它,所以可能会有一些调整,但这个想法是存在的。
试试这个。。
$(document).ready(function(){
var values = $('input.high_name:checked').map(function () {
return this.value;
}).get();
alert(values);
});
并且您的复选框添加类名
<input type="checkbox" value="" name="high[]" class="high_name">