2015-09-29 3 views
6

У меня есть несколько кнопок, содержащих разные значения.Получить значение нажатой кнопки

Мои кнопки: -

<button id="1" name="1" value="1">Button1</button> 
<button id="2" name="2" value="2">Button2</button> 

Теперь, если я нажму на Button1, я должен получить это значение. То есть , и если я нажму кнопку Button2, я должен получить значение . Я написал этот код: -

<script type="text/javascript"> 
$("button").click(function() { 
    var fired_button = $("button").val(); 
    alert(fired_button); 
}); 
</script> 

Но он всегда предупреждает . Что я должен сделать, чтобы исправить мой код?

+12

use '$ (this) .val()' – Tushar

+0

вы должны посмотреть на это http://stackoverflow.com/questions/487056/retrieve-button-value-with-jquery – Riz

ответ

6

ОБНОВЛЕНО

Использование this вместо button в:

var fired_button = $("button").val(); 

Вы должны использовать this целевой кнопки текущего щелкнул вместо button, который будет выбирать все кнопки в DOM, .val() позволяет получить значение первой кнопки.


$("button").click(function() { 
 
    var fired_button = $(this).val(); 
 
    alert(fired_button); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="1" name="1" value="1">Button1</button> 
 
<button id="2" name="2" value="2">Button2</button>

1

Использование this внутри обработчика щелчка

<script type="text/javascript"> 
$("button").click(function() { 
    var fired_button = $(this).val(); 
    alert(fired_button); 
}); 
</script> 
2

Вы могли бы попробовать что-то просто:

$(this).val(); 

$(function(){ 
 
    $("button").click(function() { 
 
     var fired_button = $(this).val(); 
 
     alert(fired_button); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="1" name="1" value="1">Button1</button> 
 
<button id="2" name="2" value="2">Button2</button>

Примечание: Вы должны добавить свои обработчики событий после того, как документ готов. Вот почему, я прилагаю обработчик событий в

$(function{}) 

Это сокращенная из

$(document).ready(function(){}) 

Для получения дополнительной информации об этом, пожалуйста, посмотрите here.

1

this даст вам элемент, который был нажат, $(this), чтобы получить версию jquery.

Обновите свой код:

$("button").click(function() { 
    var fired_button = $(this).val(); 
    alert(fired_button); 
}); 
1

Попробуйте с $(this).val();. Он вернет значение кнопки нажатой кнопки.

1

Вы должны использовать this переменную для доступа значения, по которым щелкнули кнопки.

<script type="text/javascript"> 
$("button").click(function() { 
    var fired_button = $(this).val(); 
    alert(fired_button); 
}); 
</script> 

Это вернет value кнопки.

0

Пробег: $(this).val(). 'this' всегда относится к текущему объекту.

Смежные вопросы