Php 我想在for循环中单击组合框时填充我的字段
我试图在for循环中单击combobox时填充我的字段。我得到这个,但只在我的一排。当我生成另一个新行时,它不接受该值。单击combo时,我有多行要填充字段。我甚至尝试在类中使用它,但它没有发生 我的html代码是Php 我想在for循环中单击组合框时填充我的字段,php,javascript,html,Php,Javascript,Html,我试图在for循环中单击combobox时填充我的字段。我得到这个,但只在我的一排。当我生成另一个新行时,它不接受该值。单击combo时,我有多行要填充字段。我甚至尝试在类中使用它,但它没有发生 我的html代码是 <td align="center"><input type="text" size="6" maxlength="6" maxlength="6" id="code" name="code_0" class="code1 form-input-oth"/>&
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" id="code" name="code_0" class="code1 form-input-oth"/></td>
<script type="text/javascript">
function Expedisi(t)
{
var y = document.getElementById("code");
y.value = t.value;
}
</script>
执行此操作的javascript代码是:
<script type="text/javascript">
function Expedisi(t)
{
var y;
for(var i=0; i<y.length;i++){
document.getElementById("code").innerHTML=y[i];
y[i].value = t.value;
}
}
</script>
但是上面的代码不起作用
</table>
<tr>
<table id="detail" border="1px" width="50%" >
<tr>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Sr No.</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Item Code</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Item Name</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Qty</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Cost</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Amount</font><span></span></label></td>
</tr>
<?php
if ($addflag == 0) {
$qry = mysql_query("SELECT * FROM `damtran` WHERE vouchno='$getvouch'") or die(mysql_error());
$ctr = 0;
while ($row = mysql_fetch_array($qry)) {
echo "<tr>";
echo '<td align="center"><input type="text" size="6" maxlength="6" name="sr_' . $ctr . '" value="' . $row["srno"] . '" class="form-input-oth"/></td>';
echo '<td align="center"><input type="text" size="6" maxlength="6" id="code" name="code_' . $ctr . '" value="' . $row["code"] . '" class="code1 form-input-oth"/> </td>';
echo '<td align="center"><select data-placeholder="Item Name" id="cmbitem" style="width:200px; text-align: left;" name="cmbitem_' . $ctr . '" onChange="Expedisi(this);" class="chzn-select-deselect" >';
echo "<option value=$geti[code]>$geti[name]</option>";
$iqry = mysql_query("SELECT * FROM `item` ") or die(mysql_error());
while ($trow = mysql_fetch_array($iqry)) {
echo "<option value=$trow[code]>$trow[name]</option>";
}
echo '</select></td>';
echo '<td align="center"><input type="text" size="6" maxlength="6" name="qty_' . $ctr . '" value="' . $row["qty"] . '" class="qty form-input-oth"/></td>';
echo '<td align="center"><input type="text" size="6" maxlength="6" name="cost_' . $ctr . '" value="' . $row["cost"] . '" class="cost form-input-oth"/></td>';
echo '<td align="center"><input type="text" size="9" maxlength="6" id="amt" name="amt_' . $ctr . '" value="' . $row["amt"] . '" class="cal form-input-amt"/></td>';
echo '</tr>';
$ctr++;
}
} else {
?>
<tr>
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" name="sr_0" class="form-input-oth"/></td>
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" id="code" name="code_0" class="code1 form-input-oth"/></td>
<td align="center"><select data-placeholder="Item Name" style="width:200px; text-align: left;" name="cmbitem_0" onChange="Expedisi(this)" class="chzn-select-deselect" >
<option value=""></option>
<?php
$iqry = mysql_query("SELECT * FROM `item` ") or die(mysql_error());
while ($trow = mysql_fetch_array($iqry)) {
echo "<option value=$trow[code]>$trow[name]</option>";
}
?>
</select></td>
<td align="center"><input type="text" size="6" maxlength="9" name="qty_0" class="qty form-input-oth"/></td>
<td align="right"><input type="text" size="6" maxlength="9" name="cost_0" class="cost form-input-oth"/></td>
<td align="right"><input type="text" size="6" maxlength="9" id="amt" name="amt_0" class="cal form-input-amt"/></td>
</tr>
<?php } ?>
</table>
<tr>
<td>
<input type="button" id="addnew" class="classname" name="addnew" value="+" />
<input type="hidden" id="items" name="items" value="<?php echo ($addflag == 0) ? $ctr : 1; ?>" />
</td>
</tr>
正如代码所显示的那样
<script type="text/javascript">
function Expedisi(t)
{
var y;
for(var i=0; i<y.length;i++){
document.getElementById("code").innerHTML=y[i];
y[i].value = t.value;
}
}
</script>
y是空的,所以y.length总是为0,换句话说,没有任何东西可以循环你能分享你的实际代码吗。从何处调用该函数?第二个函数中的y值是多少。请发布您的完整代码我已经发布了我的完整代码…因此,如果y=0或y=[]为y分配一个值就可以了,然后我将开始循环…?不,循环不应该基于您分配数据的变量,它应该基于您要通过的数据的长度,我建议你读这篇文章,变量t包含什么,因为我怀疑t可能是你需要循环的,你可以发布完整的代码,这样我就可以准确地看到你想要实现什么吗?我现在知道你想要做什么,但我不明白你为什么要循环,脚本函数Expedisit{var y=document.getElementByIdcode;y.value=t.value;}的第一位有什么问题?通过添加循环,您想做什么?对于第一个脚本,我只能获取第一行中的值。根据该脚本生成另一行时,我无法获取值。所以我在循环中尝试。