根据复选框将空值设置为textarea

时间:2012-08-21 12:11:10

标签: jquery

我对一些jQuery代码有点问题。

在我的页面中,我有以下布局:

[X] "Some text"   [textarea]
[X] "Some text 2" [textarea]
[X] "Some text 3" [textarea]

所以基本上,它只是一些复选框和一些textarea(实际上是日期选择器),代码如下(在PHP中生成):

<input type="checkbox" class="pack_check" disabled="disabled" name="id_pack[]" value="0 />     
Some text
<input name="date-pack[]" id="date-pack[]" class="date-picker">
<input type="checkbox" class="pack_check" disabled="disabled" name="id_pack[]" value="1 />     
Some text 2
<input name="date-pack[]" id="date-pack[]" class="date-picker">

问题是,我希望当用户取消选中一个复选框时,相关日期(在textarea输入中)会得到一个空值......

我通过做类似的事情来实现这一目标:

$('input.pack_check').change(function () {
        $("input[name='date-pack[]']").val("");
});

但是当我这样做时,所有的textarea都被删除了。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

一旦您在文档中使用了ID,就无法重新声明ID - 如果您这样做,您将看到一些非标准的行为,例如您正在经历的行为

这就是我要做的事情:

$('input.pack_check').click(function() {
    if (!this.checked) {
        $(this).nextAll('input:first').val('');
    }
});

答案 1 :(得分:-1)

试试这个

$('input.pack_check').change(function () {
        $(this).next(".date-picker").val("");
});