php
  • jquery
  • input
  • nested
  • 2011-09-02 2 views 1 likes 
    1

    내가 같은, 일련의 버튼을 생성하는 페이지 PHP 코드를 클릭 :

    $('input:button').click(function() { 
        $(this).next("span").append('You clicked this button!'); 
        $(this).next("span").append('<input type=\"button\" event=' + eventID + ' id=\"submitbutton\" value=\"Send\"/>'); 
        $('#submitbutton').click(function() { 
        } 
    } 
    

    내 목표는 페이지의 모든 버튼 클릭을 올바르게 잡는 것입니다. (클릭 한 순서에 상관없이 PHP 생성 버튼은 모두 한 방향으로 동작해야합니다. 보조 버튼은 모두 다른 방식으로 동작해야합니다.)

    위의 코드에서 처음에는 제대로 작동하지만 버튼을 클릭하고 각각에 대한 보조 버튼을 만듭니다. 그러나 보조 버튼 중 하나를 클릭하면 모두 이상하게 행동하기 시작합니다. 두 번째 버튼을 클릭하면/any/click은 #submitbutton에 대한 코드를 실행합니다.

    어딘가에서 수업을 사용해야합니까? 그렇다면 훌륭한 예가 될 것입니다. 이 작품은 무엇을 만들 것입니까?

    +1

    을 동일한 ID, PHP 생성 버튼과 마찬가지로 임의의 오류가 발생할 수 있습니다. – Pradeep

    +0

    Pradeep이 말한대로 : $ (this) .next ('span'). children ('input') click (function() { ... } 대신 $ ('# submitbuton')이 필요하며 삽입 된 버튼에는 ID가 필요하지 않습니다. –

    답변

    1

    버튼을 추가 한 다음 선택하지 않아도됩니다. 당신은 jQuery를 객체의 입력 요소를 만든 다음 그냥 지금처럼 이벤트를 클릭 객체에 바인딩 할 수 있습니다 : 하나 개의 요소가 있어야 당신이 버튼을 클릭 할 때마다 동일한 ID "submitbutton"와 DOM 요소를 추가하는

    $('input:button').click(function() { 
        var span = $(this).next("span"); 
        span.append('You clicked this button!'); 
        $('<input type=\"button\" event=' + eventID + ' value=\"Send\"/>') 
        .appendTo(span) 
        .click(function() { 
         //do stuff here 
        }); 
    }); 
    
    관련 문제