2011-09-18 3 views
0

php에서 목록을 채우고 링크를 클릭하면 javascript 함수를 실행하는 onClick 이벤트를 사용하여 엔진에 대한 값을 링크에 연결해야합니다. 클릭 한 상태입니다. 그리고 그 순간에 TITLE 태그에 할당 된 값을 아래 코드와 같이 나타내면 이것이 올바른 방법이 아니라는 것을 알았습니다. 대신 페이지에 값을 저장하는 방법과 그것들을 자바 스크립트 함수에서 접근 할 수 있어야합니다. 클릭 한 링크에 따라 해당 값을 가져옵니다. 자바 스크립트 배열이나 객체로 저장하려고 생각하고 있었습니까? 또는 무언가 연관 그래서 나는 링크의 ID에서 링크를 클릭하면 e213의 ID를 클릭 한 번 그들을 클릭 한 다음 자바 스크립트 함수 안에서 사용할 수있는 'objectname '.value +'idvariable '로 액세스 할 수 있습니다. 속성 이름은 "value"+ 링크의 ID입니다.자바 스크립트에서 사용할 페이지에 값을 저장합니다.

도움을 주시면 감사하겠습니다.

<?php 
    connect(); 
     $sql = "SELECT engine_id, engine, image, value FROM engines"; 
     $result = mysql_query($sql); 
      while ($row=mysql_fetch_array($result)) { 
      echo "<li><a style=\"color:#FF6600;\" id='e".$row['engine_id']."' title = '".$row['value']."' onclick='return enginepic(this)' onfocus='this.hideFocus=true;' href='".$row['image']."'>".$row['engine']."</a></li>"; 
     } 
?> 

답변

2

HTML5는이 경우에 attributes that start data-을 허용합니다. 예를 들면 ...

<div data-whatever-property="some value" id="some-id"></div> 

는 그런 다음 사용하여이 데이터를 가져올 수 있습니다

document.getElementById('some-id').getAttribute('data-whatever-property') 

또는 jQuery로

...

$('#some-id').attr('data-whatever-property') 

또는 더 쉽게 ...

$('#some-id').data('whateverProperty') 

jQuery의 데이터 메소드가로 바뀝니다.~ oneTwoThree. 이것은 dataset part of the html5 spec을 준수합니다.

또한 onclick/onfocus/etc 속성을 사용하는 대신 JavaScript를 통해 이벤트를 추가하는 것이 좋습니다. 링크 목록을 보려면 위임 된 이벤트 인 jquery makes these easy의 성능을 향상 시키십시오.

+0

덕분에 많은 같이 보일 것이

onclick='return enginepic(this, \''" . $row['value'] . "\') 

그리고 당신의 함수 선언과 같을 것이다, 나는 JQuery와 대신에, 갈 수있는 방법이라고 들었습니다 인라인 자바 스크립트. – Lee

+0

jquery를 사용하고 싶지 않은 경우에도'document.getElementById ('some-id'). onclick = function() {/ * code * /}'와 같은 이벤트 리스너를 사용할 수 있습니다. 최신 브라우저 (https://developer.mozilla.org/en/DOM/element.addEventListener)를위한'addEventListener'와 IE를위한'attachEvent' (http://msdn.microsoft.com/en-us/library) /ms536343(v=vs.85).aspx). 하지만 예, jquery는 더 간단하게 만듭니다. –

0

enginepic 기능에 원하는 데이터를 매개 변수로 전달할 수 있습니다.

귀하의 onclick

function enginepic(oLink, data){ 
. 
. 
. 
} 
+0

덕분에이게 효과가 있습니다!, 나는 두 답을 모두 시도 할 것입니다. – Lee

관련 문제