0

亲爱的朋友,我检索用户选择的值,并将其放在隐藏字段中以在我的表单中使用它:

    <SCRIPT type="text/javascript">  function updateHidden(sel){   
var f = document.contract;   
f.sel_value.value = sel.options[sel.selectedIndex].value;
 } </SCRIPT>

问题是我的选择在一段时间内,因此重复了。这样设置的js函数只读取第一次select中选择的值。我需要在函数中添加一个循环,但我不知道放在哪里。这是我的表格:

    <form action="update.php" method="POST" name="contract">
 <table class="myp-table">
 <tr>
 <td class="head-act">Contract</td>
 </tr>
 <?php do { ?>
 <tr> 
 <td class="head-act"><select name="playerContract[]" onchange="updateHidden(this)">
 <option value="0" <?php if (!(strcmp(0, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>0</option>
  <option value="1" <?php if (!(strcmp(1, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>1</option>
  <option value="2" <?php if (!(strcmp(2, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>2</option>
   <option value="3" <?php if (!(strcmp(3, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>3</option>
 </select>
<input type="hidden" name="sel_value"></td>
 <td><input name="id[]" type="hidden" value="<?php echo $row_datacontract['id']; ?>"/> </td>
 </tr>
 <?php } while ($row_datacontract = mysql_fetch_assoc($datacontract)); ?>
 <tr class="zebra">
 <td><input class="linkbuttonmp"  name="contract" id="submit" type="submit" value="Invio" /></td>
  </tr>
 </table>
 </form>

谢谢你。

4

1 回答 1

0

问题是您将拥有nnumber of <input type="hidden" name="sel_value">,那么它如何知道name="sel_value"要更改哪个?最好将其更改为sel_value[]唯一名称或唯一名称。

但是,您的功能可以很容易地使用.nextElementSibling

function updateHidden(sel){   
  sel.nextElementSibling.value = sel.options[sel.selectedIndex].value;
}

看到这个 jsFiddle - http://jsfiddle.net/aFNdt/1/

于 2013-06-22T20:53:08.880 回答