如何从Codeigniter中的form_dropdown()中检索值

时间:2013-01-03 08:56:18

标签: php javascript codeigniter

我正在使用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);

2 个答案:

答案 0 :(得分:0)

form_dropdown不会自动向元素添加id,因此getElementById将无法按写入方式工作。

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

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

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

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

此外,在Chrome上,F12会调出您的开发人员工具,点击esc键会切换显示您的JavaScript控制台,如果一切都没有按计划进行,这将有希望给您带来有意义的错误。

编辑:

看起来你正在设置一个名为no的变量的值,但是警告一个名为sr的变量,似乎没有被定义。

答案 1 :(得分: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);"'); 

?>