选择依赖于单选按钮
Select dependent on Radio Button
如果选择了特定的<INPUT type="radio">
,我如何使<SELECT>
可见?
我在<BODY>
的末尾有以下功能:
<script>
$('[data-dependent]').each(function () {
var $ele = $(this);
var dependsOn = $ele.data('dependent');
$.each(dependsOn, function (target, value) {
$(target).on('change', function () {
if($(this).val() === value) {
$ele.show();
}
else {
$ele.hide();
}
});
});
});
</script>
我的HTML是:
<input type="radio" name="itemOption" id="deleteAllItems" value="deleteAllItems">Delete items
<input type="radio" name="itemOption" id="moveAllItems" value="moveAllItems" checked>Move items
<select id="inputCategory" name="category" data-dependent='{"itemOption": "moveAllItems"}'>
<option>Choose a category to move the items to...</option>
<option>Category A</option>
<option>Category B</option>
</select>
您只需将$(target)
替换为$('[name="'+target+'"]')
:
$('[data-dependent]').each(function () {
var $ele = $(this);
var dependsOn = $ele.data('dependent');
$.each(dependsOn, function (target, value) {
$('[name="'+target+'"]').on('change', function () {
$ele.toggle($(this).val() === value);
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="itemOption" id="deleteAllItems" value="deleteAllItems">Delete items
<input type="radio" name="itemOption" id="moveAllItems" value="moveAllItems" checked>Move items
<select id="inputCategory" name="category" data-dependent='{"itemOption": "moveAllItems"}'>
<option>Choose a category to move the items to...</option>
<option>Category A</option>
<option>Category B</option>
</select>
首先,您可以使用以下CSS隐藏select
元素:
#inputCategory {
display: none;
}
然后,您可以在希望显示select元素的单选按钮(在本例中为所有单选按钮)上注册on click
侦听器:
$('input[type="radio"]').click(function(){
$('#inputCategory').show(); // Show element
});
见working JSFiddle
可能是这样的
jsFiddle
// add event listener for this group of radio inputs
$('input[name="itemOption"]').on('change', function(){
// depending on the "checked" value of #moveAllItems, using a ternary operator set
// the css "display" to "inline-block" if it's checked, or "none" if unchecked
var show = ($('#moveAllItems').is(':checked')) ? 'inline-block' : 'none';
$('#inputCategory').css({display: show});
})
#inputCategory{ display:none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="radio" name="itemOption" id="deleteAllItems" value="deleteAllItems" checked>Delete items
<input type="radio" name="itemOption" id="moveAllItems" value="moveAllItems">Move items
<select id="inputCategory" name="category" data-dependent='{"itemOption": "moveAllItems"}'>
<option>Choose a category to move the items to...</option>
<option>Category A</option>
<option>Category B</option>
</select>
相关文章:
- 多个单选按钮组相互干扰
- 是否可以禁用jquery中的单个单选按钮
- 如果使用jQuery验证器插件找到单选按钮,则将不同的addMethod应用于字段
- jquery:$(input).keydown无法在单选按钮上设置处理程序,同样的代码也适用于文本
- 使用 JavaScript 将 CSS 应用于动态生成的单选按钮
- JavaScript - 复选框的作用类似于单选按钮
- 如何使更改事件适用于使用 replaceWith 添加的 html 的单选按钮
- Javascript getElementById()适用于文本框,但不适用于;不能使用单选按钮或下拉选择器
- 单击输入字段将背景颜色应用于父项,并取消选择初始选择的单选按钮
- 按钮的行为类似于单选按钮
- 复选框的行为类似于具有不同名称的单选按钮
- 使锚点标记的行为类似于复选框和单选按钮
- 单选按钮上的无提示验证被忽略,而它只适用于相同表单html中的文本字段
- JQuery:如何将一个类应用于表中行内的特定数据onclick或单选按钮
- 将样式应用于选中的单选按钮'
- jQuery验证条件依赖:如果单选按钮被选中,确保文本输入匹配值
- 选择依赖于单选按钮
- JavaScript到jQuery的代码转换,该代码适用于带有单选按钮的文本字段的动态外观和消失
- 使用 JavaScript 使复选框的行为类似于单选按钮
- 在VB试图使一个单选按钮依赖于另一个答案