Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to "echo" a text in EJS (a javascript template) to check a radio button

I need help I'm using EJS javasript template to write a code snippet two check a radio button depending on data returned from the server. Let say the server returns a json (named my_data) and here is my code

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ %> <%='checked' %> <% } %> />Public
<input type="radio" name="is_public" value=0 <% if(!my_data.is_public){ %> <%='checked' %> <% } %> />Private

But it doesnt work! the Public is always checked although my_data.is_public = 0.

Any one can help?

btw, are there the way to "echo" a text like this in EJS:

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ echo 'checked' } %> />Public
like image 335
Leo Lerdorf Avatar asked Oct 20 '25 10:10

Leo Lerdorf


1 Answers

EJS is a simple and easy to use engine, and does not need to put too much learning cost on the template. If you look at the source, you'll find something funny.

// the same as echo string
__append(string)         

So:

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ __append('checked') } %> />Public
like image 132
user9547302 Avatar answered Oct 22 '25 23:10

user9547302