每页具有多个表单的输入元素之间的依赖关系
Dependencies between input elements with multiple forms per page
我正在使用数据库生成多个表单。表单中的某些输入字段具有标记
dep="XY"
其中 XY 是依赖输入元素的名称。
例:
<输入类型 名称="R5" id="c1" dep="R6">输入类型>
<输入类型 名称="R6" 值="V1">输入类型>
如果启用复选框 R5,则会激活单选按钮 R6
目前我正在使用这个jquery代码来启用/禁用元素:
function onChangeInputRadioCheckboxDependencies() {
var inputs = $('input');
inputs.change(function() {
inputs.each(function() {
var dep = $(this).attr('dep');
if ( typeof dep != 'undefined') {
var group = $(this).find('input[name=' + dep + ']');
if ($(this).is(':checked')) {
group.each(function() {
group.removeAttr('disabled');
});
} else {
group.each(function() {
group.attr('disabled', true);
group.prop('checked', false);
});
}
}
});
});
}
如果页面上只有一个表单,则没有问题。但是,如果存在两个或更多元素,则在所有表单中启用/禁用元素,因为所有输入在每个表单中都连续编号。
是否有可能只找到位于相同形式的元素?感谢您的帮助:-)
试试
$(document).ready(function () {
$('form').on('change', 'input[dep]', function () {
var dep = $(this).attr('dep');
var group = $(this).closest('form').find('input[name=' + dep + ']');
if ($(this).is(':checked')) {
group.prop('disabled',false);
} else {
group.prop('disabled', true);
group.prop('checked', false);
}
});
});
相关文章:
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 访问代码生成的输入元素上的keyup事件
- 使用 jQuery,当我在输入框外部单击时,如何更改输入元素的值
- 使用jQuery切换来显示内容,但防止在用户单击输入元素时关闭
- 如何使用角度事件处理程序引用输入元素的值
- 获取javascript中输入元素的索引
- 为什么Bootstrap typeahead不适用于具有相同ID的输入元素
- 如何使用javascript在输入元素中显示特殊字符
- 动态添加的输入元素不会在脚本中返回值
- 使用 jQuery 禁用除表单中的某些输入元素之外的所有输入元素
- 将焦点设置为输入元素角度 js
- 如何仅在输入元素具有焦点时才启动 setInterval
- 即使使用 parseInt,我也无法从输入元素中获取数值
- 通过应用自定义 css 类禁用 html 输入元素
- 聚合物 - 访问自定义元素内的 DOM 输入元素
- HTML-输入元素中不可删除的占位符
- 使用jquery将属性附加到输入元素
- 如果所有其他元素都填写在AngularJS中,如何动态添加新的输入元素
- 什么是输入元素上的innerHTML
- 输入元素模式属性的Javascript正则表达式在reFiddle上有效,但在页面上无效