document.getElementById(“”)。value不适用于flipswitch

时间:2015-11-27 21:01:12

标签: javascript jquery html

假设用户选择“M”,我如何在javascript中访问该值。我正在尝试使用传统方法document.getElementById(“gender”)。value但它不起作用。

代码:

<label for="gender">Gender</label>
<input type="checkbox" id="gender" name="mf" data-role="flipswitch" data-on-text="M" data-off-text="F"/>

是否有任何等效方法可以访问flipswitch的值?

2 个答案:

答案 0 :(得分:2)

好吧,复选框目前没有值。我相信您要查找的属性不是value它应该document.getElementById("gender").checked来查看是否选中了复选框。这将返回truefalse

答案 1 :(得分:1)

此代码正是您需要的。你可以根据需要选择所有复选框。

技巧是它与类名flipswitch绑定,并在选中时获得data-on-text的值,在未选中时获取data-off-text

var flipswitch = document.getElementsByClassName("flipswitch");

    
var myFunction = function() {
	if(this.checked == 1) {
		alert(this.getAttribute("data-on-text"));
	} else {
		alert(this.getAttribute("data-off-text"));
	}
};
for(var i=0; i < flipswitch.length; i++){
	flipswitch[i].addEventListener('click', myFunction, false);
}
<label for="gender">Gender</label>
<input type="checkbox" id="gender" value="1" name="mf" class="flipswitch" data-on-text="Male" data-off-text="Female"/>
<input type="checkbox" id="life" value="1" name="ml" class="flipswitch" data-on-text="Alive" data-off-text="Dead"/>