2014-01-20 2 views
0

SQL 테이블에서 데이터를 가져 오는 동적 루프가 있습니다. 삭제 버튼을 누를 때 특정 변수의 값을 js 변수에 저장하려면 어떻게해야합니까? 루프 내에있는 양식으로 인해 여러 가지 양식이있을 것이라는 점에 유의하십시오.양식 값을 js 변수로 반환합니다 (한 페이지에 여러 양식 사용)

형성

while($row = mysqli_fetch_array($result)){ 
    echo ' 
    <form> 
    <input type="hidden" id="mile_id" value="'.$row['mile_id'].'" /> 
    <input type="button" id="delete" value="DELETE'.$i.'" /> 
    </form>'; 
} 

JS

$(document).ready(function(){ 
    $('form #delete').click(function(e){ 
    var $mile_id = $('#mile_id') // this returns [object Object] 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
     alert($mile_id); 
    } 
    else{ 
     return false; 
    } 
    }); 
}); 
+2

그것은 반환'[개체 개체가]'당신이 사용하고 있기 때문에'alert' 모든 것이도 캐릭터 라인됩니다. 디버깅을 위해'console.log'를 사용하십시오. – elclanrs

+0

id는 고유해야하며 모든 행에는 mile_id의 ID가 입력됩니다. 입력 값을 얻기 위해 jquery에서 'val'을 살펴보십시오. –

답변

0

당신은 당신이 데이터 값을 사용하고 JQuery와의 값을 가져올 수있는 숨겨진 입력을 필요 없어요.

while($row = mysqli_fetch_array($result)){ 
    echo ' 
    <form> 
    <input type="button" class="delete" value="DELETE'.$i.'" data-value="'.$row['mile_id'].'" /> 
    </form>'; 
} 

JS

$(document).ready(function(){ 
    $('form .delete').click(function(e){ 
    var $button = $(this) // this returns [object Object] 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
    alert($button.data("value")); 
    } 
    else{ 
    return false; 
    } 
}); 
}); 
+0

내가 필요한 것. 팁을 주셔서 감사합니다. – Rob

+0

당신은 환영합니다 :) –

1

This answer 선택한 요소의 값을 검색하기 위해 당신을 위해 재미있을 수 있습니다.

0

사용 $('#mile_id').val() 대신에만 $('#mile_id')

0

양식을 제출하면 당신은 PHP의 ID를 확인할 수 있습니다. id = $ _GET [ 'mile_id'] (또는 $ _POST) 인 항목을 삭제하기 위해 serversided 쿼리를 작성할 수 있습니다.

하지만 실제로 질문은 js에서 가치를 얻는 방법이었습니다. $ ("# mile_id")로이를 수행 할 수 있습니다.

그러나 당신이 원하는 :

$(this).find("#mile_id").val();

편집 : 당신의 id를 사용하고 있기 때문에 여러 형태를 가질 수 없습니다. 이드의 클래스를 만들고 jquery가 맞다. 그래서

:

$(document).ready(function(){ 
    $('form .delete').click(function(e){ 
    var $mile_id = $(this).find(".mile_id").val(); //this returns you wants 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
     alert($mile_id); 
    } 
    else{ 
     return false; 
    } 
    }); 
}); 
관련 문제