我有一个正在执行的查询,结果被作为变量$ result获取。
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
数组中有15个元素。 0-15。
我想为阵列中的每个项目回显一个单选按钮。我想将每个项目分配到单选按钮上的“值”字段(下面是我目前正在做的。)
foreach( $result as $row ) {
echo '<h4><input type="radio" name="inputWalls" id="radioclick" value="'.$row['batch'].'" >'.$row['batch']. '</h4>';
}
现在发生的事情是阵列中的所有项目以及它们旁边的所有单选按钮打印出来,这就是我想要的。但是,只有第一个单选按钮存储数组中第一个元素的值。
下面是数组的var_dump()。
array (size=15)
0 =>
array (size=2)
'batch' => string 'B0002128.RGB' (length=12)
0 => string 'B0002128.RGB' (length=12)
1 =>
array (size=2)
'batch' => string 'B0002129.RIE' (length=12)
0 => string 'B0002129.RIE' (length=12)
2 =>
array (size=2)
'batch' => string 'B0002130.RGB' (length=12)
0 => string 'B0002130.RGB' (length=12)
3 =>
array (size=2)
'batch' => string 'B0002131.RIE' (length=12)
0 => string 'B0002131.RIE' (length=12)
4 =>
array (size=2)
'batch' => string 'B0002132.RGB' (length=12)
0 => string 'B0002132.RGB' (length=12)
5 =>
array (size=2)
'batch' => string 'B0002133.RIE' (length=12)
0 => string 'B0002133.RIE' (length=12)
6 =>
array (size=2)
'batch' => string 'B0002134.RIE' (length=12)
0 => string 'B0002134.RIE' (length=12)
7 =>
array (size=2)
'batch' => string 'B0002135.RGB' (length=12)
0 => string 'B0002135.RGB' (length=12)
8 =>
array (size=2)
'batch' => string 'B0002136.RGB' (length=12)
0 => string 'B0002136.RGB' (length=12)
9 =>
array (size=2)
'batch' => string 'B0002137.RIE' (length=12)
0 => string 'B0002137.RIE' (length=12)
10 =>
array (size=2)
'batch' => string 'B0002139.RGB' (length=12)
0 => string 'B0002139.RGB' (length=12)
11 =>
array (size=2)
'batch' => string 'B0002140.RGB' (length=12)
0 => string 'B0002140.RGB' (length=12)
12 =>
array (size=2)
'batch' => string 'B0002141.RIE' (length=12)
0 => string 'B0002141.RIE' (length=12)
13 =>
array (size=2)
'batch' => string 'B0002142.RIE' (length=12)
0 => string 'B0002142.RIE' (length=12)
14 =>
array (size=2)
'batch' => string 'B0002143.RGB' (length=12)
0 => string 'B0002143.RGB' (length=12)
这是jquery代码,它将信息显示为每个单选按钮包含的内容的警报。
$(function(){
$("#radioclick").click(function() {
alert($("input[name=inputWalls]:checked").val());
});
});
当我选择第一个单选按钮时,它显示值B0002128.RGB,它是数组中的第一个元素。每个其他单选按钮都没有任何值,因为没有任何打印。很长的帖子,但我很感激帮助。
答案 0 :(得分:3)
您不能多次使用相同的id
。
问题是在循环中使用id="radioclick"
。
所以$("#radioclick").click(function() {
会在找到的第一个匹配的id
上触发......但不是全部。
改为使用class
。
答案 1 :(得分:0)
HTML元素的ID必须是唯一的。您正在为每个CharSequense
元素分配相同的id,因此当您绑定click函数时,它只会绑定到第一个元素。
在HTML中使用<input>
代替class="radioclick"
,在JS中使用id="radioclick"
代替$(".radioclick").click
。