jquery字符串在$()内部不起作用

dev*_*234 -1 javascript php jquery jquery-ui

我有以下jquery函数.我正如下面提到的那样.

function hideSubArea(area, subArea) {
    if ($('#cmdArea').val() == area) {
        console.log('hide:' + subArea);
        //$(":checkbox[value=peoplebulkinsert]").closest("label").hide();
        $(":checkbox[value=subArea]").closest("label").hide();
    }
}
Run Code Online (Sandbox Code Playgroud)

并称之为

  hideSubArea('<?php echo CustomType::CF_PEOPLE ?>', '<?php echo CustomType::CF_SUB_PEOPLE_BULK_INSERT ?>');
Run Code Online (Sandbox Code Playgroud)

这种方式不起作用.

这也不是.

hideSubArea('people', 'peoplebulkinsert');
Run Code Online (Sandbox Code Playgroud)

但是当我直接用作时,它可以工作

$(":checkbox[value=peoplebulkinsert]").closest("label").hide();
Run Code Online (Sandbox Code Playgroud)

为什么这会发生在jquery上?

Sou*_*ose 6

subArea是一个变量,在这种情况下不是字符串.它需要连接起来.它应该是 -

$(":checkbox[value='" + subArea + "']")
Run Code Online (Sandbox Code Playgroud)

  • 添加值`$(":checkbox [value ='"+ subArea +"']")`的引号 (6认同)