【发布时间】:2017-07-06 22:04:04
【问题描述】:
我正在开发一个应用程序,它的表单包含两个用数组动态填充的选择。
如果第一个选择没有选择,则第二个选择被禁用,我需要过滤第二个选择的选项,尊重第一个选择。
虽然我必须将这些值传递给另一个 PHP 页面,但我不能使用 value 属性进行过滤。
我尝试使用自定义属性但没有结果。
这是我的代码,
<tr>
<td style="color: white;">Seleziona data: </td>
<td>
<select class="form-control" name="data" id="select1">
<option value="prova" disabled selected> Scegli</option>
<?php for ($y=0; $y<count($giorni); $y++){ $giorno=$ giorni[$y];?>
<option value="<?php echo $giorno; ?>" id="<?php echo $y; ?>">
<?php echo $giorno; ?> </option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td style="color: white;">Seleziona ora: </td>
<td>
<select class="form-control" name="ora" id="select2" disabled>
<?php $count=1 ; while ($count <=3 ){ if ($count==1 ){ for ($g=0; $g<count($ora1); $g++){ ?>
<option id="<?php echo $count-1; ?>" value="<?php echo $ora1[$g]; ?>">
<?php echo $ora1[$g]; ?>
</option>
<?php } $count ++; } ?>
<?php if ($count==2 ){ for ($g=0; $g<count($ora2); $g++){ ?>
<option id="<?php echo $count-1; ?>" value="<?php echo $ora2[$g]; ?>">
<?php echo $ora2[$g]; ?>
</option>
<?php } $count ++; } ?>
<?php if ($count==3 ){ for ($g=0; $g<count($ora2); $g++){ ?>
<option id="<?php echo $count-1; ?>" value="<?php echo $ora3[$g]; ?>">
<?php echo $ora3[$g]; ?>
</option>
<?php } $count ++; } } ?>
</select>
</td>
</tr>
JAVASCRIPT:
<script>
document.getElementById('select1').onchange = function() {
document.getElementById('select2').disabled = false;
};
</script>
<script>
$("#select1").change(function() {
if ($(this).data('options') == undefined) {
/*Taking an array of all options-2 and kind of embedding it on the select1*/
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).id();
var options = $(this).data('options').filter('[id=' + id + ']');
$('#select2').html(options);
});
</script>
我该如何解决?
谢谢
【问题讨论】:
-
那不是 JavaScript。你在用 jQuery 吗?
-
是的,对不起....你知道 Javascript 中有什么解决方案吗? @user7393973
-
你能试着解释一下这个问题吗?我所理解的是,您有一个
<select>,其中包含来自数组的动态选项,这意味着它可以变化。然后,根据选择的情况,显示第二个<select>和动态<option>s,据此在第一个<select>中选择了<option>。我说对了吗? -
请重新定义问题,在评论中以更好的方式解释它,因为不清楚您想要实现的目标
标签: javascript jquery html select options