我有以下选择菜单,将通过php for循环重复8次。我希望,使用js,设置onchange事件,从7个菜单的其余部分的第一个菜单中重复所选的选项,然后当然也重复选项的值。鉴于我读取了mysql表的选择菜单值:
for ($a=1; $a<=$n; $a++)
{
readtable_no_order ("rooms"); //php function to read table
echo '<select name="hOffers['.$a.']'.'" class= "select">';
echo '<option value="" selected="selected"></option>';
while ($row=mysql_fetch_array ($result))
{echo '<option value ="'. $row['room'] . '">'.
$row['room'] . '</option>';}
echo '</select><br>';
}
提前感谢!
答案 0 :(得分:0)
我不确定你要求的是什么。 但是,这段代码snipet并不是很好。 你应该从你的php函数返回对象,并在你的页面中处理带有循环的html。
类似的东西:
<?php
$objectList = myFunctionToGetObjectList();
for ($objectList as $object)
{
?>
<select name="<?php echo $object.someValue; ?>" class="select">
...
</select>
<?php
}
?>
然后在javascript中,您可以使用getElementsByTagName
添加javascript事件答案 1 :(得分:0)
演示&#34;呈现&#34; html(IE8 +):
<select name="hOffers[0]" class= "select">
<option value="room_1">Room 1</option>
<option value="room_2">Room 2</option>
<option value="room_3">Room 3</option>
</select>
<select name="hOffers[1]" class= "select">
<option value="room_1">Room 1</option>
<option value="room_2">Room 2</option>
<option value="room_3">Room 3</option>
</select>
<script>
var selectBoxes = document.querySelectorAll( '.select' );
for ( var i = 0; i < selectBoxes.length; i += 1 ) {
selectBoxes[i].onchange = function( event ) {
var currentValue = event.target.value;
for ( var j = 0; j < selectBoxes.length; j += 1 ) {
selectBoxes[j].value = currentValue;
}
};
}
</script>
小提琴:http://jsfiddle.net/4fxBB/
我相信在您的选择框之后回显该脚本标记会有问题吗?