2009-10-18 8 views
0

링크를 클릭 할 때 JavaScript 함수에 변수를 보낼 수는 없지만 인터넷에서 어떤 방법 으로든 찾을 수없는 이유가 있습니다. 여기 자바 스크립트 (jquery) 함수에 변수 보내기

내 페이지의 상단에있는 기능입니다 :

<script> 
$(document).ready(function(){ 
$('[name=updateInterface]').click(function() { 
$("#interfaceScreen").load("modules/interface/interfaceScreen.php?h= &v= "); 
}); 
}); 
</script> 

내가이 (가) 다음에 위치하는 변수 "H ="와 "V ="부품이 필요 볼 수 있듯이. 에서

<a href="#" name="updateInterface"><img src="images/map/invisible.png" border="0" /></a> 

답변

3

변수 :

여기 내 페이지에서 기능을 활성화 할 수있는 링크는 무엇입니까? 쉽습니다.

var h = 20; 
var v = 40; 
$(function() { 
    $('[name=updateInterface]').click(function() { 
    $("#interfaceScreen").load("modules/interface/interfaceScreen.php?h=" + 
     encodeURIComponent(h) + "&v=" + enocdeURICompoennt(v)); 
    }); 
}); 

그냥 encodeURIComponent()으로 탈출하십시오. 다음

<input type="text" id="txth"> 
<input type="text" id="txth"> 

과 :

당신은 물론 어느 곳 등으로부터 그들을 얻을 수

var h = $("#txth").val(); 
var v = $("#txtv").val(); 

편집 : 좋아, 난 당신이의 정보를 보낼 모여 의견에서 클라이언트가 다시 보낼 수 있도록 서버를 클라이언트에 다시 보냅니다. 첫 번째 방법의 비 JQuery와 종류에 클릭 핸들러를하는 것입니다 :와

<a href="javascript:handle_click(17,43);">Click me</a> 

:

아마 가장 쉬운 솔루션입니다
function handle_click(h, v) { 
    $("#interfaceScreen").load("modules/interface/interfaceScreen.php?h=" + 
    encodeURIComponent(h) + "&v=" + enocdeURICompoennt(v)); 
} 

. jquery 클릭 핸들러를 계속 사용하려면이 정보를 언제나 속성 또는 숨겨진 요소에 임베드 할 수 있습니다. CSS와

<a href="#" class="special"><div class="special-h">12</div><div class="special-v">34</div>Click me</a> 

:

a.special div { display: none; } 

및 예를 들어

$(function() { 
    $("a.special").click(function() { 
    var h = $(this).children("special-h").text(); 
    var v = $(this).children("special-v").text(); 
    $("#interfaceScreen").load("modules/interface/interfaceScreen.php?h=" + 
     encodeURIComponent(h) + "&v=" + enocdeURICompoennt(v)); 
    }); 
}); 

이 주제에 많은 변화가있다.

마지막으로, 필자가 피할 수있는 속성 검색 선택기를 사용하지 말 것을 조언하겠다. 앵커에 클래스 및/또는 ID를 지정하고 그 중 하나를 사용하여 이벤트 처리기를 할당합니다. 또한 성능상의 이유로 ".special"을 통해 "a.special"과 같은 선택기를 사용하십시오.

0

URL 문자열에 추가하는 것을 의미합니까?

<script> 
$(document).ready(function(){ 
$('[name=updateInterface]').click(function() { 
$("#interfaceScreen").load("modules/interface/interfaceScreen.php?h=" + h + "&v=" + v); 
}); 
}); 
</script> 

이것은 스크립트의 다른 곳에서 정의 된 변수 hv을 가정합니다.

+0

링크를 사용하여 변수를 보내지는 않겠지 만 여러 링크가 있지만 변수가 다를 수 있습니다. 다른 링크를 클릭하면 함수에 2 개의 다른 변수가 전송됩니다. – Stanni