0

我有两个复选框和一个文本字段。我想在选中一个复选框时将一些数据放入字段中,并在选中另一个复选框时放入另一个数据,并且不应同时选中这两个复选框。但是,当未选中这些复选框时,文本字段应为空。当我的两个复选框都未使用以下 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 代码怎么办。

还有一件事我还希望我的变量“名称”的值应该是 php 代码。请告诉我我该怎么做。

4

1 回答 1

3

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

演示:http: //jsfiddle.net/XqypD/1/

  1. 用来.change代替.clickhander
  2. 您的代码实际上有 2 个用于使您的逻辑更难的复选框的处理程序。

代码:

$(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('');
        }
    });
});
于 2012-10-02T20:15:13.270 回答