简体   繁体   中英

How to use dynamic golang html template id with javascript?

Hi I have a html image button with dynamic id inside range in golang template. I need to add a javascript function to it. But the problem is that how could I use this dynamic Id in javascript?

My HTML

{{range $i, $e := .Process}}
   <input id="id{{.}}" type="image" src="/images/icons/pencil.png" alt="edit" width="15" height="15">
{{end}}

JavaScript

<script type="text/javascript">
       $().ready(function() {
            $('#id{{.}}').click(function() {
                $('#hidebody').toggle();

            });
        });
    </script>   

How to solve this? Is there any better way to do this?

Give those buttons a class.

{{range $i, $e := .Process}}
   <input id="{{.}}" class="img-buttons" type="image" src="/images/icons/pencil.png" alt="edit" width="15" height="15">
{{end}}

In javascript you can do,

$(".img-buttons").click ( function() {
    $(this).attr( "id" ); // get Id
});

Instead of the id you can use html data attributes if that suits you better.

HTML:

{{range $i, $e := .Process}}
   <input data-id="{{.}}" class="img-buttons" type="image" src="/images/icons/pencil.png" alt="edit" width="15" height="15">
{{end}}

JS:

$(".img-buttons").click ( function() {
    $(this).data( "id" ); // get Id
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM