两个复选框和1个文本字段jquery

时间:2012-10-02 20:07:50

标签: php jquery

我有两个复选框和一个文本字段。我想在选中一个复选框时将一些数据放入字段,并在选中其他复选框时放入另一个数据,并且不应同时检查这两个复选框。但是,如果未选中这些复选框,则文本字段应为空。除了使用以下jquery代码取消选中我的复选框之外,我已经实现了除清空字段之外的所有功能。

jQuery(document).ready(function() {
jQuery('#a').click(function() {
if(jQuery('#a').is(":checked")) {
    jQuery('#b').removeAttr('checked');
    name = "hello World!"; 
jQuery('#c').val(name);
}


});
jQuery('#b').click(function() {
    if(jQuery('#b').is(":checked")) {
        jQuery('#a').removeAttr('checked');
        name = "Not hello World!"; 
    jQuery('#c').val(name);

    }
});
jQuery('#a,#b').click(function(){
if(jQuery('#a,#b').not(":checked")){
name = "";
jQuery('#c').val(name);
}
});
    });

这是我的HTML:

 <input type="textarea" id="c" />
<input type="checkbox" id="a" />
<input type="checkbox" id="b" />

请告诉我如何在未选中两个复选框的情况下清空文本字段。

另外,如何获取一个文本字段的值并将其放入另一个文本字段中,如果第一个文本字段的值是某种类型的html或javascript代码,该怎么办呢。

还有一点我还想要我的变量“name”的值应该是php代码。请告诉我怎么做。

1 个答案:

答案 0 :(得分:3)

我认为如果你把它全部写在一个函数中会很容易。见下文,

DEMO: http://jsfiddle.net/XqypD/1/

  1. 使用.change代替.click hander
  2. 您的代码实际上有两个处理程序,可以让您的逻辑变得更难。
  3. <强>代码:

    $(function () {
        $('#a, #b').change(function () {
            var $a = $('#a'), $b = $('#b'), $c = $('#c');
            if (this.id == 'a' && this.checked) {
               $c.val('Hello World!');
               $b.prop('checked', false);
            } else if (this.id == 'b' && this.checked) {
               $c.val('Not hello World!');
               $a.prop('checked', false);
            } else {
               $c.val('');
            }
        });
    });