2013-02-03 2 views
1

여러 제출 버튼이있는 양식이 있습니다. jQuery를 사용하여 "제출"기능에서 값을 가져 와서 조작 할 수 있습니다. 내가 jQuery를 ..so 나는 단지이 와서 지금은 잘 모르겠어요jQuery - 제출 버튼에서 값 조작

...

<form id="buttons"> 
    <input type="submit" id="light1" value="OFF" /> 
    <input type="submit" id="light2" value="ON" /> 
    <input type="submit" id="light3" value="ON" /> 
    <input type="submit" id="light4" value="OFF" /> 
</form> 

<script> 
$('#buttons').submit(function() { 
$.get("data.php", { light1: "ON"}); 
    return false; 
}); 
</script> 

는 그래서 일이 어떻게 대신

$.get("data.php", { light1: "ON"}); 

의 나는 어떤 방법입니다 제출시 id의의 값이일까요? 이렇게 될 수 있습니다

$.get("data.php", { *ID OF A BUTTON*: "*VALUE OF BUTTON*"}); 

... 작동 할 수 있습니까?

감사합니다.

PS 버튼의 값이 PHP와 jQuery를, 그래서이 부분에 대해 전혀 걱정과 상쾌한된다]

답변

2

내가 가장 쉬운 해결책은 대신에 버튼 요소에 이벤트를 잡을 것 생각 form.

$('#buttons').on('click', 'input[type="submit"]', function(e) { 
    e.preventDefault(); // for safety's sake 
    var data = {}; 
    data[this.id] = this.value; 
    $.get("data.php", data); 
}); 
+0

감사합니다! 매력처럼 일 했어! :) – 45RPM

2
$('#buttons input[type="submit"]').on('click', function(e) { 
    e.preventDefault(); 
    var data = {}; 
    data[this.id] = this.value; 
    $.get("data.php", data); 
}); 
+0

이것은 작동하지 않습니다. 함수 리터럴에서는 변수를 속성 이름으로 사용할 수 없습니다. – lonesomeday

관련 문제