0

如果选中复选框,我正在尝试使用 jQuery / javascript 从命名输入元素中删除一个类。

我有几个复选框,每个复选框都有一个随附的隐藏(页面加载)文本输入字段。

复选框和文本输入字段分别命名为“question_X”和“question_X_description”。(其中 X 是一个 0 到 100 的数字,比如说)

因此,我试图在我的代码中定义一个变量,该变量被定义为“此元素的名称”+“_description”,然后使用它来定义合适的元素以从中删除该类。

这是我尝试过的:

$('input:checkbox').change(function(){

var x = $(this).attr('name').'_description';

if($(this).is(":checked")) {
    $('input[name="x"]').removeClass("hidden");
} else {
     $('input[name="x"]').addClass("hidden");
}
});

但是,当任何复选框被选中时,什么都不会发生。我是否正确引用了我的变量?

4

3 回答 3

3

使用你的控制台,它会有错误信息。

首要问题

var x = $(this).attr('name').'_description';
                           ^^^

这不是在 JavaScript 中构建字符串的方式。JavaScript 不.用于连接字符串。它用+

var x = $(this).attr('name') + '_description';

第二期

$('input[name="x"]').

您不是在寻找您构建的字符串,而是在寻找名为 x 的元素

需要是

$('input[name="' + x + '"]').
于 2013-10-22T15:31:55.527 回答
0
$('input[name="x"]').removeClass("hidden");

将寻找:

<input name="x" />

尝试

$(name="'+x+'").removeClass("hidden");
于 2013-10-22T15:34:08.730 回答
0

采用document.getElementById('element_name')

HTML 元素示例: <input type="text" id="element_name">

于 2013-10-22T15:35:27.330 回答