Chciałbym przekazać obiekt jako parametr do funkcji Onclick wewnątrz ciągu znaków. Coś takiego jak następujące:javascript: przekazać obiekt jako argument funkcji onclick wewnątrz łańcucha znaków
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
parentobj.appendChild(o.firstChild);
}
Oczywiście to nie działa. Ktoś ma jakiś pomysł? DZIĘKI!
bardziej kompletna wersja, jak sugeruje @Austin
<!DOCTYPE html>
<html>
<body>
<style type="text/css">
</style>
<p id="test">test</p>
<p id="objectid"></p>
<script>
function test(s){
document.getElementById("test").innerHTML+=s;
}
function somelistener(obj){
test(obj.id);
}
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
o.onclick = function() {
someListener(obj)
}
parentobj.appendChild(o.firstChild);
}
myfunction(document.getElementById("objectid"),document.getElementById("test"));
</script>
</body>
</html>
@Austin nie jestem pewien, czy rozumiem swoją odpowiedź c orrect. Ale jak próbowałem w pełnej wersji powyżej, to też nie działa. Czy widzisz problem? – Elizabeth
@ scott.korin Thx Scott. Ale po zmianie wielkości liter nadal nie działa. – Elizabeth
@Austin BTW, nawet jeśli zmienię o.onclick na o.firstChild.onclick, to również nie działa, jeśli jest to potencjalnie problem. – Elizabeth