2010-08-24 57 views
0

我使用jQuery函数来显示某些隐藏的文本字段,一旦你从选择框中选择一些东西。 这适用于选择框,但我无法让它适用于复选框。jQuery复选框单击显示输入字段 - 不起作用

这里是剥离代码我试过(简单地说),但它不工作:http://jsbin.com/uwane3/2/

感谢您的帮助,我很少使用JS所以我的知识是小的。

+2

没有硬的感觉,只是这种代码是这样一个大的一块丑陋 – jAndy 2010-08-24 14:55:58

+0

它从一个计算器解决 我很开放的一切,但我很少使用JS的,并很高兴地发现一些工作 – Julian 2010-08-24 15:03:14

回答

0

我发现代码中的2个错误:

  1. 您的复选框没有价值,所以你不能获得超过一个空的结果形式“.val()”
  2. 您没有将事件处理程序绑定到该复选框。

http://jsbin.com/uwane3/3

$('#cf3_field_9').live('click', function(e){ 
    if (e.target == $('#cf3_field_9')[0] && e.target.checked) { 
     alert('The following line could only work if the checkbox have a value.'); 
     $.viewMapcf3_field_9[$(this).val()].show(); 

    } else { 
     $.each($.viewMapcf3_field_9, function() { this.hide(); }); 
    } 
    }); 
0

您没有注册到您的复选框的事件。
注册一个点击,或者改变这样的处理程序:

$('#cf3_field_9').click(function(){ 
    if ($(this).attr("checked")) { 
     $.viewMapcf3_field_9[$(this).val()].show(); 
    } else { 
     $.each($.viewMapcf3_field_9, function() { this.hide(); }); 
    } 
}); 

http://api.jquery.com/category/events/

+0

感谢您的意见,仍然没有在我的网站上工作。 而不是在这个简单的工作:http://jsbin.com/uwane3/4 – Julian 2010-08-24 15:07:43

+0

因为你的选择器是错误的:http://jsbin.com/uwane3/5 – chriszero 2010-08-24 15:14:07