通过单击标签更改输入属性
Change input property by clicking on a label
我需要什么:
如果我单击一个标签,我想在输入中添加一个已签入的标签。
当我尝试时,我收到了两个带有true的警报。这是不正确的,在firebug中,输入字段不会改变。
对于测试,我想输出filterguid,但警报是空的,而且还有两个警报框。
HTML标记:
<li>
<label>
<input type="checkbox" filterguid="895f7bc2-d609-4b09-97f9-c09f9fc90d1b"> Weiblich
</label>
</li>
jQuery:
$('.targetgroup-frame li label').on('click', function(){
$(this).children().prop('checked', true);
alert($(this).children().prop('filterguid'));
});
我的jQuery代码正确吗?
谢谢。
HTML-除了在输入上添加一个id以方便jquery定位之外,没有任何更改。
<li>
<label>
<input type="checkbox" id="checkbox" filterguid="895f7bc2-d609-4b09-97f9-c09f9fc90d1b"> Weiblich
</label>
</li>
您不必使用jquery来更改复选框的状态,因为html可以为您更改复选框。
您可以使用以下脚本侦听更改并获取已检查状态和filterguid。
$('#checkbox').change(function() {
console.log($(this).attr('filterguid'))
console.log(this.checked)
});
属性标签
与标签元素在同一文档中的可标记表单相关元素的ID。文档中ID与for属性值匹配的第一个此类元素是此标签元素的标记控件。
此外,您应该使用data-attribute
而不是attribute
。HTM5 不支持attribute
样品
$("#chkTest").on("click", function(){
console.log($(this).data("filterguid"))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<label for="chkTest">
<input id="chkTest" type="checkbox" data-filterguid="895f7bc2-d609-4b09-97f9-c09f9fc90d1b">Weiblich
</label>
参考文献
- 标签-MDN
相关文章:
- Html5输入属性的默认值,如最小值、最大值、大小等
- 如何使用“输入属性更改”事件来捕获鼠标复制和粘贴
- 行数文本输入属性不起作用
- 从输入属性自动构建选择器
- JavaScript - 在“for”循环中设置表单输入属性
- 克隆项目时,是否可以更改所有输入属性和 ID,如下所示;
- jQuery 函数绑定在“输入属性更改”上,未按预期触发
- 在 Javascript 文件中的屏幕上打印 html 输入属性和变量
- 来自输入属性 jQuery 的数组
- 通过选定的选项属性设置表单输入属性
- jQuery 设置 input.value = input.title(或其他输入属性)
- 访问构造函数中的 Angular 2 输入(属性)
- JS.检查输入属性src是否包含文本
- 禁用html5”;“必需”;不显示窗体部分时的字段输入属性
- 如何在更改时从下拉值中删除输入属性
- 热门的是用jQuery将html输入属性映射到对象
- 使用jQuery添加输入属性在IE9中不起作用
- 如何将表单输入属性设置为计算的全局变量值
- 新版本的FF改变了输入属性的顺序
- 当输入属性等于0时选择一个选项