【发布时间】:2017-12-19 13:59:01
【问题描述】:
我正在尝试创建一个包含多个选择的表单,用户应将这些选择从 1 到 8 进行排名。但是,我在隐藏/删除/禁用选择选项时遇到了一些麻烦。
这是我的表格 这只是要排名的 8 个选择中的前四个
<label>Spirituality</label>\
<select id="ranks1" class="form-control form-input" name="answer[]" required>
<option value="" selected>--</option>
<?php for ($i=1;$i<=10;$i++){?>
<option value="<?=$i;?>"><?= $i;?></option>
<?php } ?>
</select>
<label>School</label>
<select id="ranks1" class="form-control form-input" name="answer[]" required>
<option value="" selected>--</option>
<?php for ($i=1;$i<=10;$i++){?>
<option value="<?=$i;?>"><?= $i;?></option>
<?php } ?>
</select>
<label>Family</label>
<select id="ranks1" class="form-control form-input" name="answer[]" required>
<option value="" selected>--</option>
<?php for ($i=1;$i<=10;$i++){?>
<option value="<?=$i;?>"><?= $i;?></option>
<?php } ?>
</select>
<label>Friends</label>
<select id="ranks1" class="form-control form-input" name="answer[]" required>
<option value="" selected>--</option>
<?php for ($i=1;$i<=10;$i++){?>
<option value="<?=$i;?>"><?= $i;?></option>
<?php } ?>
</select>
这就是我目前的剧本
$(document).ready(function () {
$("#ranks1").click(function () {
$('#ranks1 option').prop('disabled', true);
});
});
我为 CSS 做了这个。对于禁用选项
select option[disabled] {
display: none !important;
}
【问题讨论】:
-
一组选择并不能为排名顺序提供良好的 UI。改为考虑something like this
-
您想何时禁用选择选项?换句话说,您遇到了什么问题?
-
您知道
id是一个唯一标识符,并且您的DOM 中不应有具有相同id的元素。对吧?! -
@user1477388 .在选择选项中选择的数字没有隐藏/禁用
-
@EhsanT 哦。我只是认为他们在同一个表单组中并且应该具有相同的 ID。对不起
标签: javascript jquery html css forms