创建动态单选框时,无法将字符串传递给 onClick 函数

While creating a dynamic radio box, couldn't pass a string to onClick function

我必须在加载页面时动态呈现几个单选按钮,因为单选按钮的数量取决于 JSP 中接收到的数据行数。

这里我用 innerHTML 展示了它。问题是当我使用 onClick 函数并传递变量时: a & b ;对于 doOption() 函数,变量 b 应该是一个字符串,在该 onClick 函数中被称为整个函数定义。

---------------------------
Message from webpage
---------------------------
a : 123, b : function abc()
{
var a = 123;
var b ="abc";
document.getElementById('1').innerHTML = 
"<input type='radio' onClick='doOption("+a+","+b+")'>";
}
---------------------------
OK       
---------------------------



<html>  
<body onload=abc()>
<script>
function doOption(a,b){ 
alert("a : "+a+", b : "+b);
}
function abc(){
    var a = 123;
    var b ="abc";
    document.getElementById('1').innerHTML = 
    "<input type='radio' onClick='doOption("+a+","+b+")'>";
}
</script>
<p id='1'>
</p>
</body>
</html>

试试这个。您需要使用以下内容:

<html>  
<body onload=abc()>
<script>
function doOption(c,d){ 
    alert(c+" "+d);
}
function abc(){
    var a = 123;
    var b ="abc";
    document.getElementById("ptag").innerHTML = "<input type='radio' onclick='doOption("+a+",\""+b+"\")'>";
}
</script>
<p id="ptag">
</p>
</body>
</html>