Как определить, какая кнопка была нажата в JQuery - PullRequest
0 голосов
/ 04 мая 2011

Я использую цикл php для создания нескольких элементов кнопки.Как определить, какая кнопка была нажата с помощью jquery?

<script type="text/javascript">

$(function(){

    if(button.click){
        alert(button.id);
    }

});

</script>

<?php for($x=0; $x<4; $x++){ ?>
<ul id="x">
<li><input type="button" id="<?php echo $x; ?>" value="<?php echo $x; ?>"/></li>
</ul>
<?php } ?>

Ответы [ 4 ]

3 голосов
/ 04 мая 2011

Наиболее распространенным способом идентификации элемента является id. (Literally, id does mean "identification")

Как вы хотите, должно быть что-то вроде этого.

$("input").click(function() { //This will attach the function to all the input elements
   alert($(this).attr('id')); //This will grab the id of the element and alert. Although $(this).id also work, I like this way.
});

Однако обобщение привязки ко всем элементам ввода может быть плохой идеей. Поэтому попробуйте назначить общий класс определенным элементам и использовать $(".yourclass").

3 голосов
/ 04 мая 2011

хорошо, если ваш код выглядит следующим образом

$('input:button').click(function(){
   $(this); //this will always refer to the clicked button. 
            //You can use traversal to find stuff relative to this button
   var butId = $(this).attr('id'); //this will give you the ID of the clicked button
});
2 голосов
/ 04 мая 2011
<?php for($x=0; $x<4; $x++){ ?>
<ul id="x">
<li><input type="button" id="<?php echo $x; ?>"  value="<?php echo $x; ?>"/></li>
</ul>
<?php } ?>

<script type="text/javascript">
    $("input").click(function() {
        clickButton(this) // this is the button element, same as alert(this.id)
    });

    function clickButton(button) {
        alert(button.id)
    }
</script>

РЕДАКТИРОВАТЬ: связывание на JS является предпочтительным

1 голос
/ 04 мая 2011
$(function() {
    $("input[type='button']").click(function(event) {
        //event.target is the html causing the event
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...