2016-11-30 60 views
0

好家伙,我在这里是新的... 我如何检查不同按钮上的值与相同的ID?如何检查一些按钮值相同的id javascript

示例代码:

<button onclick="checkValue();" id="price" value="1"> 
<button onclick="checkValue();" id="price" value="2"> 
<button onclick="checkValue();" id="price" value="3"> 
<script> 
function checkValue() 
    { 
     var but = document.getElementById("price").value; 
     console.log(but); 
    } 
</script> 

以及..我怎样才能获得被点击它时,1或2或3?

+2

'id'应该是唯一的,使用'类'对于元素组 –

+0

,你不能拥有'相同的ID'。改用'class'。 – ozil

+0

@PranavCBalan嗯,你的意思是我应该把我的类属性传递给我的函数,然后我得到了值? – Wilx

回答

2

id应该是唯一的,因此总是使用class作为元素组。作为参数获取值通过this上下文。

<button onclick="checkValue(this);" value="1">1</button> 
 
<button onclick="checkValue(this);" value="2">2</button> 
 
<button onclick="checkValue(this);" value="3">3</button> 
 
<script> 
 
    function checkValue(ele) { 
 
    console.log(ele.value); 
 
    } 
 
</script>

+1

感谢man:D真的有很大的帮助 – Wilx

+0

@Wilx虽然这个答案确实会告诉你如何得到每个按钮的值,但这个答案并没有告诉你如何使用'class'然后'id's'来定位组元素。我想我会指出这一点以备将来参考。 'this'将使用该元素来触发该事件,显然'.value'将定位元素use的值以触发该事件,作为回报,您将得到单击按钮的'value'。我没有看到发布答案的很多观点,所以这里是一个使用类的例子。 https://jsfiddle.net/dLLavug0/ – NewToJS

+0

@NewToJs:我想问一下事件onclick有什么不同,然后点击?我真的不明白,你可以给我解释一下:D – Wilx

0

你不应该具有相同id多个元素。如果你想他们你可以使用class

获取所选按钮的值,您可以发送this在函数内部

function checkValue(elem) { 
 
    console.log(elem.value); 
 
}
<button onclick="checkValue(this)" class="price" value="1">1</button> 
 
<button onclick="checkValue(this)" class="price" value="2">2</button> 
 
<button onclick="checkValue(this)" class="price" value="3">3</button>

0

<button onclick="checkValue(this);" class="price" id="price1" value="1">Button1 
 
<button onclick="checkValue(this);" class="price" id="price2" value="2">Button2 
 
<button onclick="checkValue(this);" class="price" id="price3" value="3">Button3 
 
<script> 
 
function checkValue(d) 
 
    { 
 
     var but = d.value; 
 
     console.log(but); 
 
    } 
 
</script>

相关问题