创建动态单选框时,无法将字符串传递给 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>
我必须在加载页面时动态呈现几个单选按钮,因为单选按钮的数量取决于 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>