【发布时间】:2016-10-19 14:21:23
【问题描述】:
<input type="button" value="mybutton1" onclick="dosomething()">test
点击按钮时调用的dsomething函数,如何将按钮mybutton1的值作为参数传递给dsomething函数?
【问题讨论】:
标签: javascript
<input type="button" value="mybutton1" onclick="dosomething()">test
点击按钮时调用的dsomething函数,如何将按钮mybutton1的值作为参数传递给dsomething函数?
【问题讨论】:
标签: javascript
您可以使用this.value 将值传递给函数,其中this 指向按钮
<input type="button" value="mybutton1" onclick="dosomething(this.value)">
然后在函数中访问那个值
function dosomething(val){
console.log(val);
}
【讨论】:
也许你可以看看 JavaScript 中的闭包。 这是一个有效的解决方案:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p class="button">Button 0</p>
<p class="button">Button 1</p>
<p class="button">Button 2</p>
<script>
var buttons = document.getElementsByClassName('button');
for (var i=0 ; i < buttons.length ; i++){
(function(index){
buttons[index].onclick = function(){
alert("I am button " + index);
};
})(i)
}
</script>
</body>
</html>
【讨论】:
$(this)。例如:$( ".button" ).on( "click", function() { alert("I am a button with value " + $(this).attr('value')); }` 定义了一个点击函数,该函数访问被点击按钮上名为value 的属性。也就是说,如果每个按钮定义类似于:<p class="button" value="my value here">Button 0</p>。使用 jquery,不需要闭包,也不需要显式的按钮数组。
您可以通过传递 this 将元素传递给函数 <input type="button" value="mybutton1" onclick="dosomething(this)">test。然后在函数中你可以像这样访问值:
function dosomething(element) {
console.log(element.value);
}
【讨论】:
你可以这样做。
<input type="button" value="mybutton1" onclick="dosomething(this)">
function dosomething(element){
alert("value is "+element.value); //you can print any value like id,class,value,innerHTML etc.
};
【讨论】:
您可以通过在 onclick 函数中使用该元素的 id 来获取价值
function dosomething(){
var buttonValue = document.getElementById('buttonId').value;
}
【讨论】: