0

我正在使用 codeigniter。我有简单的 form_dropdown()。我想为我的下拉菜单执行一个 onchange() 函数。

我将获得通过 JavaScript 选择的字符串。

这是我的代码,但它不起作用

$js ="onChange=message()";
echo "<script type=\"text/javascript\" > function message(){ var no=document.getElementById('name').value;

alert(sr);
}
</script>";
echo form_dropdown('name',$data,'large',$js);
4

2 回答 2

0

form_dropdown 不会自动向元素添加 id,因此getElementById不会像所写的那样工作。

另外,为了理解起见,指南没有很好地解释第四个参数。调用它$js会产生误导,因为它会将您提供的任何内容添加到属性列表中。

将一行代码更改为此(还要注意 onChange 函数周围的引号):

 $js = 'id = "name" onChange="message();"';

确保您在输出后查看源代码,以验证它是否也在输出有效的 html。

此外,在 Chrome 上,F12 会调出你的开发者工具,按下 esc 键会切换显示你的 JavaScript 控制台,如果一切都没有按计划进行,这可能会给你带来有意义的错误。

编辑:

看起来您正在设置一个名为 的变量的值no,但提醒一个名为 的变量sr,该变量似乎没有被定义。

于 2013-01-03T10:04:32.010 回答
0

您也可以简单地从函数调用中传递 ref 而不是从中获取值document.getElementById(),当您在 select dropdowm 中添加 id 时它将起作用

试试这个代码

<?php 
echo "<script type=\"text/javascript\" > 
        function message(element){ 
           var no=element.value;
           alert(no);
         }
</script>";

echo form_dropdown('name',$data,'large', 'onChange="message(this);"'); 

?>
于 2017-01-05T06:29:51.587 回答