richsoni
richsoni

Reputation: 4278

Send Div id to javascript via onclick

I have a page with several div's. All of the divs have a unique id. I would like to send that id to a javascript function. I have tried to save it as a value as well, and send this.value, but that does not work either.

<div class='recordElem$val' id='$rname' value='$rname'
onclick='javascript:updateRecord(this.value);'>
        $name</div>"

Upvotes: 16

Views: 108209

Answers (5)

adil hashmi
adil hashmi

Reputation: 21

You can assign php variables value to javascript variable value. Then you can use it onclick example:

<script language="javascript">
    var a=<?php echo $tabs['menu_id']; ?>

    </script>

    <a href="index.php" onclick="show_center(a);">pass it</a>

Here we can pass javascript's variable to function.

Upvotes: 2

Brandon J. Boone
Brandon J. Boone

Reputation: 16472

Here is a jQuery answer

  <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>

  <script type="text/javascript">
   function clicked(item) {
    alert($(item).attr("id"));
   }
  </script>


  <div onclick="clicked(this);" id="test">test</div>

Upvotes: 35

Arun P Johny
Arun P Johny

Reputation: 388316

Have a look at two ways to solve this problem

<html>
<body>
    <div id="scopeId" onclick="javascript:testScope.call(this)">Using scope</div>
    <div id="parameterId" onclick="javascript:testId(this.id)">Using Parameter</div>
    <script>
        function testScope(){
            alert("Scope: " + this.id)
        }
        function testId(id){
            alert("Parameter: " + id)
        }
    </script>
</body>
</html>

Upvotes: 8

Robusto
Robusto

Reputation: 31883

Use onclick="updateRecord(this)" and handle it like this:

function updateRecord(div) {
  // statements
  var id = div.id; // or however you want to use the id
  // statements
}

Upvotes: 3

Henk
Henk

Reputation: 704

How about passing this.id to the javascript function?

Upvotes: 0

Related Questions