如果父复选框未被选中,则获取父复选框值
Get parent checkbox value if its parent is not checked
我想获得父复选框的值只有当它被选中,它的父复选框不是。例如,如果我检查管理器1,我应该只得到管理器1。总统也是如此。但是如果我检查助理经理1到3,我应该只得到助理经理1到3。
我有这个JS,但我被这行卡住了如果($(txtbox).is(':checked')==false)。它总是返回true,即使父元素没有被检查。
下面是JS代码片段:$('#xxx').on('click',function () {
var hid = new Array();
var counter = 0;
$('ul li input[type=checkbox]').each(function () {
if($(this).is(':checked')){
var chk = $(this);
li = chk.closest('li');
ul = li.parent();
parentli = ul.parent();
if($(parentli).prop("tagName")=="LI"){
txtbox = parentli.find('input');
alert($(txtbox).is(':checked'));
if($(txtbox).is(':checked')==false){
hid[counter] = chk.val();
counter++;
}
}else{
hid[counter] = chk.val();
}
}
});
});
这里是html:
<ul>
<li><label><input type="checkbox" value="Administration" />Administration</label>
<ul>
<li><label><input type="checkbox" value="President" />President</label>
<ul>
<li><label><input type="checkbox" value="manager 1" />Manager 1</label>
<ul>
<li><label><input type="checkbox" value="asst manager 1"/>Assistant Manager 1</label></li>
<li><label><input type="checkbox" value="asst manager 2"/>Assistant Manager 2</label></li>
<li><label><input type="checkbox" value="asst manager 3"/>Assistant Manager 3</label></li>
</ul>
</li>
<li><label><input type="checkbox" value="manager 2"/>Manager 2</label></li>
<li><label><input type="checkbox" value="manager 3"/>Manager 3</label></li>
</ul>
</li>
<li><label><input type="checkbox" value="Vice President"/>Vice President</label>
<ul>
<li><label><input type="checkbox" value="Manager 4"/>Manager 4</label></li>
<li><label><input type="checkbox" value="Manager 5"/>Manager 5</label></li>
<li><label><input type="checkbox" value="Manager 6"/>Manager 6</label></li>
</ul>
</li>
</ul>
</li>
</ul>
<input type="button" id="xxx" value="click" />
演示:http://jsfiddle.net/Er6Rx/1/
使用说明:
$(txtbox).prop('checked')
不是$(txtbox).is(':checked')
我不知道你在用这些代码做什么,但从我的阅读来看,这听起来像是你想要的:
http://jsfiddle.net/Er6Rx/8/$('#xxx').on('click',function(){
var selected = '';
$('input[type=checkbox]').each(function () {
var sThisVal = (this.checked ? "1" : "0");
if(sThisVal==true)
{
selected += '<li>'+$(this).attr('value')+'</li>';
}
});
$('.checkedboxes').append('<ul>'+selected+'</ul>');
});
相关文章:
- 从复选框和Selects-KnockoutJS中获取值的总和
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何从javascript/jquery中的多个复选框中获取附加值
- 如何从多个复选框中获取最后一个值
- 如何获取模式引导程序上的值复选框
- 如何获取所有选中复选框的所有值,然后将其提交到表单中
- 如何在javascript中获取一组复选框值
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 如何根据在角度 js 中选中的复选框获取表行值
- 根据选中的复选框获取
的值 - 从行中的复选框获取表值
- 如何通过JQuery中的复选框获取选定列的值
- PHP:基于复选框获取工作日和休息日
- 在jquery中不能从表单复选框获取和传递值到$_POST
- 通过ng-repeat, ng-model和复选框获取数组中的位置
- 单击复选框获取表格行id值
- 如何在Angular JavaScript中使用复选框获取动态JSON数据
- Javascript:从复选框获取对象
- 使用复选框获取行值