使用OnClick调用JavaScript函数

使用OnClick调用JavaScript函数,javascript,html,onclick,Javascript,Html,Onclick,我有一个简单的函数,当它被硬编码时可以工作,但是当我试图向它传递第二个参数时,它就不工作了。我使用onclick调用函数,并使用id=>thumbnail获取值。有什么建议吗 硬编码示例(有效) 函数clearFileInputField(tagId){ document.getElementById(tagId).innerHTML=document.getElementById(tagId).innerHTML; $('.thumbnail').val(“”); } 删除缩略图 传递的

我有一个简单的函数,当它被硬编码时可以工作,但是当我试图向它传递第二个参数时,它就不工作了。我使用
onclick
调用函数,并使用
id=>thumbnail
获取值。有什么建议吗

硬编码示例(有效)


函数clearFileInputField(tagId){
document.getElementById(tagId).innerHTML=document.getElementById(tagId).innerHTML;
$('.thumbnail').val(“”);
}

删除缩略图
传递的参数(不工作)


函数clearFileInputField(tagId,div){
document.getElementById(tagId).innerHTML=document.getElementById(tagId).innerHTML;
$('.div').val(“”);
}

删除缩略图
你就快到了。在代码中,参数div转换为字符串。相反,请尝试下面给出的代码

<script>
       function clearFileInputField(tagId, div) {
                document.getElementById(tagId).innerHTML = 
                              document.getElementById(tagId).innerHTML;
                    $('.'+div).val("");        
                }
        </script>

函数clearFileInputField(tagId,div){
document.getElementById(tagId).innerHTML=
getElementById(tagId).innerHTML;
$('.+div.val(“”);
}
试试这个(将脚本放在标记下面):



删除缩略图 函数clearFileInputField(tagId,div){ document.getElementById(tagId).innerHTML=document.getElementById(tagId).innerHTML; $('.+div.val(“”); }
这一部分很接近,但不会像您预期的那样起作用。你应该用两种方法中的一种

$('.'+div).val("");
或者

对于选项1,您将使用一个字符串作为句点,并将其与变量div的值连接起来

对于选项2,您需要更改传递的参数,以在其前面包含一个句点

$('.div').val("");
  ^^^^^^
这是一个字符串,不是一个变量。您正在尝试查找具有
class=“div”
的元素

您需要将变量与包含点的字符串连接起来:

$('.' + div).val("");

您可以轻松摆脱内联处理程序,只需创建一个简单的事件处理程序

jQuery(函数(){
//使用remove_thumbnail类将处理程序绑定到任何按钮
$('.remove_缩略图')。更改(函数(){
如果(这个.勾选){
$(本)
//转到父行
.parents(“.row”)
//找到缩略图
.find(“.缩略图”)
.val(“”);
}
});
});

删除缩略图

不起作用的意思?硬编码示例将清除正确的数据。然而,传递参数的代码没有清除数据。你能检查控制台日志中的错误吗?…对我有用..检查这个
$('.div').val(""); 
$('.'+div).val("");
$(div).val("");
$('.div').val("");
  ^^^^^^
$('.' + div).val("");