我想根据另一个选择值禁用一些选择输入。
我在表单中有4个选择。第一个(#type_rapport)有3个选项,它的值使其他选择输入显示或隐藏。重要提示:由于PHP,这些选项已被填充。
例如,如果选择V,则会显示#select_v,而#select_f和#select_g将被隐藏。
这是我的表格:
<form>
<div>
<select name="type_rapport" id="type_rapport">
<option>-</option>
<option value="v" <?php if (isset($_GET[ 'type_rapport']) AND $_GET[ 'type_rapport']=="v" ) echo "selected=\"Selected\ ""; ?>>V</option>
<option value="f" <?php if (isset($_GET[ 'type_rapport']) AND $_GET[ 'type_rapport']=="f" ) echo "selected=\"Selected\ ""; ?>>F</option>
<option value="g" <?php if (isset($_GET[ 'type_rapport']) AND $_GET[ 'type_rapport']=="g" ) echo "selected=\"Selected\ ""; ?>>G</option>
</select>
</div>
<div>
<select name="designation" id="select_v" <? if (isset($_GET[ 'type_rapport'])){ if ($_GET[ 'type_rapport']!="v" ) echo "disabled"; } else { echo "disabled"; } ?>>
<?php $infos=$ bdd->query(...); while ($donnees = $infos->fetch()) { ?>
<option value="<?php echo $donnees[0]; ?>" <?php if (isset($_GET[ 'designation']) AND $_GET[ 'designation']==$donnees[0]) echo "selected=\"Selected\ ""; ?>>
<?php echo $donnees[1]; ?>
</option>
<?php } $infos->closeCursor(); ?></select>
</div>
<div>
<select name="famille" id="select_f" <? if (isset($_GET[ 'type_rapport'])){ if ($_GET[ 'type_rapport']!="f" ) echo "disabled"; } else { echo "disabled"; } ?>>
<?php $infos=$ bdd->query('...'); while ($donnees = $infos->fetch()) { ?>
<option value="<?php echo $donnees[0]; ?>" <?php if(isset($_GET[ 'famille']) AND $_GET[ 'famille']==$donnees[7]) echo "selected=\"Selected\ ""; ?>>
<?php echo $donnees[8]; ?>
</option>
<?php } $infos->closeCursor(); ?></select>
</div>
<div>
<select name="groupe" id="select_g" <? if (isset($_GET[ 'type_rapport'])){ if ($_GET[ 'type_rapport']!="g" ) echo "disabled"; } else { echo "disabled"; } ?>>
<?php $infos=$ bdd->query('...'); while ($donnees = $infos->fetch()) { ?>
<option value="<?php echo $donnees[0]; ?>" <?php if(isset($_GET[ 'groupe']) AND $_GET[ 'groupe']==$donnees[10]) echo "selected=\"Selected\ ""; ?>>
<?php echo $donnees[11]; ?>
</option>
<?php } $infos->closeCursor(); ?></select>
</div>
我的jQuery脚本:
$(document).ready(function () {
$('#select_v').closest('div').addClass('method_options').hide();
$('#select_f').closest('div').addClass('method_options').hide();
$('#select_g').closest('div').addClass('method_options').hide();
$('#type_rapport').change(function () {
$('div.method_options').hide();
$('#select_' + $(this).val()).closest('div').show();
$('#select_' + $(this).val()).removeAttribute('disabled');
});
});
用户第一次查看表单时,应禁用#select_v,#select_f和#select_g,直到用户在#type_rapport选择输入中选择一个选项。我尝试添加removeAttribute行,但它没有工作。
当用户提交表单时,使用GET方法调用相同的页面,您可以在我的php代码中看到。选择了#type_rapport的选项,但根本没有显示相关的选择(尽管由于我的条件,它没有被禁用)。
这是一个jsFiddle链接:http://jsfiddle.net/wrnk/3Yy4H/
有人可以帮我解决这些问题吗?
提前致谢。