javascript - 通过javascript选中填充下拉值选择的复选框
问题描述
我为 6 个场景得到了我想做的 6 个复选框:
<tr style="height: 21px;">
<td style="width: 25%; height: 21px;">COB</td>
<td style="width: 25%; height: 21px;"><input name="COB" type="checkbox" id="COB" value="1" <?php if($_GET['COB'] == '1'){ echo 'checked="checked"';}?>/> </td>
<td style="width: 25%; height: 21px;">SMT</td>
<td style="width: 25%; height: 21px;"> <input name="SMT" id="SMT" type="checkbox" value="1" <?php if($_GET['SMT'] == '1'){ echo 'checked="checked"';}?>/> </td>
</tr>
<tr style="height: 21px;">
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;">BGA</td>
<td style="width: 25%; height: 21px;"> <input name="BGA" id="BGA" type="checkbox" value="1" <?php if($_GET['BGA'] == '1'){ echo 'checked="checked"';}?>/> </td>
</tr>
<tr style="height: 21px;">
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"> TSOP Typ 1 </td>
<td style="width: 25%; height: 21px;"><input name="TSOP" id="TSOP" type="checkbox" value="1"<?php if($_GET['TSOP'] == '1'){ echo 'checked="checked"';}?> /></td>
</tr>
<tr style="height: 21px;">
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"> TSOP Typ 2</td>
<td style="width: 25%; height: 21px;"><input name="TSOP2" id="TSOP2" type="checkbox" value="2"<?php if($_GET['TSOP'] == '2'){ echo 'checked="checked"';}?> /> </td>
</tr>
<tr style="height: 21px;">
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"></td>
<td style="width: 25%; height: 21px;"> LGA</td>
<td style="width: 25%; height: 21px;"><input name="LGA" id="LGA" type="checkbox" value="1"<?php if($_GET['LGA'] == '1'){ echo 'checked="checked"';}?> /> </td>
</tr>
这里是我如何填充下拉列表的 PHP 部分。
<td style="width: 14.2857%; height: 21px;"> <select id="FlashID" name="FlashID" onchange="FlashFunction()" size="1" >
<option disabled selected value> </option>;
<?php
foreach($connection->query($flash) as $m)
{
if($m['FlashID'] == $_GET['FlashID']){
$isSelected = 'selected="selected"';
}else{
$isSelected = '';
}
echo "<option data-COB='".$m['COB']."' data-SMT='".$m['SMT']."' data-BGA='".$m['BGA']."' data-TSOP='".$m['TSOP']."' data-LGA='".$m['LGA']."' value='" . $m['FlashID'] . "'".$isSelected." >" .$m['SAP'] ."</option>";
}
?>
</td>
这是填充下拉列表的 SQL 表
FlashID SAP COB SMT BGA TSOP LGA
1 102292 0 1 0 2 0
3 102293 0 1 0 2 0
4 102294 0 1 0 2 0
5 102296 0 1 0 0 1
6 102412 0 1 0 1 0
7 102413 0 1 0 1 0
8 102414 0 1 0 1 0
9 102651 0 1 0 2 0
10 102652 0 1 0 2 0
11 102664 0 1 0 2 0
这是我不工作的 Javascript 部分:
<script>
function FlashFunction(){
var index = document.getElementById("FlashID").selectedIndex;
var COB = document.getElementById("FlashID").options[index].getAttribute("data-COB");
var SMT = document.getElementById("FlashID").options[index].getAttribute("data-SMT");
var BGA = document.getElementById("FlashID").options[index].getAttribute("data-BGA");
var TSOP = document.getElementById("FlashID").options[index].getAttribute("data-TSOP");
var LGA = document.getElementById("FlashID").options[index].getAttribute("data-LGA");
document.getElementsByName("COB")[0].value = COB;
document.getElementsByName("SMT")[0].value = SMT;
document.getElementsByName("BGA")[0].value = BGA;
document.getElementsByName("TSOP")[0].value = TSOP;
document.getElementsByName("TSOP2")[0].value = TSOP;
document.getElementsByName("LGA")[0].value = LGA;
}
</script>
请注意,TSOP 可以是值 1 或 2。
例如。如果我选择 FlashID 6,您已经看到了。应该选中 TSOP 和 SMT 复选框。
但是 atm 我不知道,为什么我的 Javascript 无法正常工作,我该如何处理?有人可以帮忙吗?
解决方案
我注意到在最后 3 个复选框中,值和 php 代码之间没有空格。
这个:
<td style="width: 25%; height: 21px;"><input name="TSOP2" id="TSOP2" type="checkbox" value="2"<?php if($_GET['TSOP'] == '2'){ echo 'checked="checked"';}?> /> </td>
php执行后可以到这里:
<td style="width: 25%; height: 21px;"><input name="TSOP2" id="TSOP2" type="checkbox" value="2"checked="checked" /> </td>
应该是这样的:
td style="width: 25%; height: 21px;"><input name="TSOP2" id="TSOP2" type="checkbox" value="2" checked="checked" /> </td>
推荐阅读
- android - Dynamic/Encrypted Key in @SerializeName in android
- javascript - 我正在尝试编写一个函数,它接受 n 个整数参数并返回所有参数的乘积
- python - django models self.text attribute not returning the text
- python - Embed a plot into HTML using FastAPI and Jinja2
- excel - How to fill in blank cells in this column, when the cells have to be populated with different values from this same column?
- php - Update taxonomy field from ACF field when saving post
- android - How show hidden folder starting with a dot having a video file from android internal storage programatically?
- javascript - typescript/node/sequelize - How to add variables when getting dynamic value
- settings - How to correctly edit scalability settings/groups in Unreal Engine 4? To "overwrite" the default one's
- python - 将 python 方法转换为 djagno 数据库方法是否可行?