0

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

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

[X] "Some text"   [textarea]
[X] "Some text 2" [textarea]
[X] "Some text 3" [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("");
});

但是当我这样做时,所有的文本区域都被删除了。

任何的想法?

4

2 回答 2

1

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

这就是我要做的:

$('input.pack_check').click(function() {
    if (!this.checked) {
        $(this).nextAll('input:first').val('');
    }
});
于 2012-08-21T12:16:29.190 回答
-1

试试这个

$('input.pack_check').change(function () {
        $(this).next(".date-picker").val("");
});
于 2012-08-21T12:15:46.787 回答