选择值检索

时间:2013-06-22 16:30:38

标签: php javascript

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

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

问题是我的选择是在一个时间周期内,因此重复。以这种方式设置的js函数只读取第一个选择中选择的值。 我需要在函数中添加一个循环,但我不知道在哪里放它。 这是我的表格:

    <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>

谢谢。

1 个答案:

答案 0 :(得分:0)

问题是您的n号码会<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/