我有两个复选框和一个文本字段。我想在选中一个复选框时将一些数据放入字段,并在选中其他复选框时放入另一个数据,并且不应同时检查这两个复选框。但是,如果未选中这些复选框,则文本字段应为空。除了使用以下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代码。请告诉我怎么做。
答案 0 :(得分:3)
我认为如果你把它全部写在一个函数中会很容易。见下文,
DEMO: http://jsfiddle.net/XqypD/1/
.change
代替.click
hander <强>代码:强>
$(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('');
}
});
});