Php 我想在for循环中单击组合框时填充我的字段

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"/>&

我试图在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>
<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>
&nbsp;<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;}的第一位有什么问题?通过添加循环,您想做什么?对于第一个脚本,我只能获取第一行中的值。根据该脚本生成另一行时,我无法获取值。所以我在循环中尝试。