Blease
Blease

Reputation: 1420

JQuery and Eval

First of all, lets say I have about 10 divs that are hidden and have the ID's as "modal1", "modal2", "modal3", etc... Using an ajax request, the data returned contains an ID number, lets say it is 7.

In previous tasks, I have used the javascript eval function but this does not work. I wish to append the received data to the correct modal div.

var newdataobj = JSON.parse(newdata);
var ResponseDiv = "#modal" + newdataobj.ID;
$(eval(ResponseDiv)).append(newdataobj.DataToAdd);

This doesn't work and the script stops working at this point. I have also tries using the JQuery version of eval, but that did not work either.

Upvotes: 2

Views: 579

Answers (2)

Sergio
Sergio

Reputation: 28837

You don't need to use eval() here, use just $(ResponseDiv).append(newdataobj.DataToAdd);

ResponseDiv is already a string and that is what you need for the selector.

Try this to confirm you have the right ID:

var newdataobj = JSON.parse(newdata);
var ResponseDiv = "#modal" + newdataobj.ID;
alert(ResponseDiv); // or console.log(ResponseDiv); - to doublecheck you have the right ID
$(ResponseDiv).append(newdataobj.DataToAdd);

Upvotes: 7

SLaks
SLaks

Reputation: 887405

ResponseDiv is already a string containing exactly what you want.
You don't want eval at all.

Upvotes: 2

Related Questions