如果您使用的是 jQuery,并且我假设您是因为您将问题标记为“jquery”,那么您不想要一个onclick=...
,您想用 jQuery 分配处理程序:
$("img").click(function() {
$("#" + $(this).attr("class")).val("1");
// or
$("#" + this.className).val("1");
});
但是使用您现有的myFunction()
,您可以这样做:
function myFunction(el) {
var matchingInput = document.getElementById(el.className);
if (matchingInput)
matchingInput.value = "1";
}
如果您要查找的元素具有 id,则“查看 html 表单”的概念实际上并不适用,因为(如果您的 html 有效)将只有一个元素具有任何给定的 id,因此您可以获得参考直接使用document.getElementById()
或等效的 jQuery/CSS 选择器添加到该元素$("#someid")
。
Note that using the class
attribute for this purpose makes it impossible to assign other classes to the same img elements, so I'd suggest you instead use a data-xxx
attribute:
<img data-relatedFieldId="field1" class="someclass1 someclass2" src="...">
And then in your function:
$("#" + $(this).attr("data-relatedFieldId")).val("1");