2011-11-09 26 views
0

嗨旁边的文本框的值如问题我无法取消规定更改此复选框/检查文本框..
小提琴:http://jsfiddle.net/Uehnh/1/
这里是我的HTML为什么我不能,如果我使用的数据恢复到它

<table> 
<tr> 
<td><input type='checkbox'><span>Text1</span><input type='text'></td> 
</tr> 
<tr> 
<td><input type='checkbox'><span>Text2</span></td> 
</tr> 
<tr> 
<td><input type='checkbox'><span>Text3</span></td> 
</tr> 
<tr> 
<td><input type='radio'><span>None of all</span></td> 
</tr> 
</table> 

下面的代码是不是让我选或检查checkbox..Actually这是为了恢复文本框的以前清除数据..

$('.humble').live('change',function() 
{ 
    var th=$(this); 
    var input=th.closest('td').find('input[type="text"]'); 
    if(th.prop('checked',false)) 
    { 
     input.data('text',input.val()); 
     input.val(''); 
    } 
    else 
    { 
     input.val(input.data('text')); 
    } 
}); 

,这里是完整代码的小提琴http://jsfiddle.net/Uehnh/1/
我想恢复与以前的文本使用数据属性的文本..但在这里我无法检查第一个复选框..这是不允许我做..
请检查并让我知道错误..

+0

它没有被检查,因为你的代码阻止了它。老实说,很难理解代码。你能解释它是如何工作的吗? –

回答

2

您在条件语句中将checked属性设置为false。也许这不是你的意图。

在此行中:

if(th.prop('checked',false)) 

你的意思是:

if(th.prop('checked') == false) 
+0

完美的老板..完美的捕捉... – Exception

1

您的代码不作出了很多的意义,我,但我觉得明白你在做什么试图去做。如果单选按钮被选中,它应该取消选择所有复选框并清除输入,对吧?

我认为这是你在找什么:

$("input:radio").change(function(){ 
    if ($(this).is(":checked")){ 
     $("input:checkbox").attr("checked", false); 
     $("input:text").val(""); 
    } 
}); 
1

正如其他人已经提到你得到了,如果条件是错误的。请使用 -

if (th.prop('checked') == false) 

另外,在许多情况下,放在一起的代码无法正常工作。如取消选中任何复选框,即使其他复选框被选中或者输入并且在没有其他复选框被选中时清除文本框,也会检查单选按钮等。

我已经更新了它的工作方式,我认为,您希望它能够工作 - 看看这个fiddle

相关问题