javascript - 如何从form_dropdown中获取选定的文本?

标签 javascript php html codeigniter

我无法获取 form_dropdown 中的文本,它总是返回选项值。请帮忙。

查看

<?php echo form_open_multipart('upload/do_upload');?>
<?php 
    $cont ='';
    $dept='';
    foreach($level->result() as $row) {
        $cont = $row->userlevel;
        $dept = $row->department;
    }
    if(strtoupper($cont)=="USER") {
        echo "<strong>".$dept."&emsp;</strong>";
    }
    else {
        echo form_dropdown('department_name', $dept_name,'','id="department_name"');
    } 
?>
<br/><br/>
<div class="btn-group">
    <span id="status2"><?php echo form_dropdown('document_name', $document_name, '', 'id="document_name"'); ?></span>
</div>
<br/><br/>
<label for="file">Select File To Upload:</label>
<input type="file" name="userfile" multiple class="btn btn-file"/>
</br></br>
<input type="submit" value="Upload File" class="btn btn-primary"/>
<?php echo form_close(); ?>

<script>
    window.onload = function() {
        var form_data = {
            dept_name: "<?php echo $dept; ?>",
            ajax: 1
        };
        $.ajax({
            url:"<?php echo site_url("document/document_dept_received"); ?>",
            data:form_data,
            type:'POST',
            success: function(msg){
                document.getElementById("status2").innerHTML = msg;
            }
        });
    };

    $("#department_name").change(function() {
        var form_data = {
            dept_name: $("#department_name option:selected").text(),
            ajax: 1
        };
        $.ajax({
            url:"<?php echo site_url("document/document_dept_received"); ?>",
            data:form_data,
            type:'POST',
            success: function(msg){
                document.getElementById("status2").innerHTML = msg;
            }
        });
    });
</script>

Controller

$upload_data = $this->upload->data();
$data['thumbnail_name'] = $upload_data['raw_name']. '_thumb' .$upload_data['file_ext'];
$file_array = array(
    'image'         => $data['thumbnail_name'],
    'image_name'    => $upload_data['file_name'],
    //'description'   => "",
    'date_created'  => date('Y-m-d H:i:s', now()),
    'date_modified' => date('Y-m-d H:i:s', now()),
    'author'        => $this->session->userdata('username'),
    'size'          => $upload_data['file_size'],
    'type'          => $upload_data['image_type'],
    'width'         => $upload_data['image_width'],
    'height'        => $upload_data['image_height'],
    'document_name' => $this->input->post("document_name"),
    'department'    => $this->input->post("department_name"),
    //'notes'         => "",
);

当我尝试这个时...

print_r($this->input->post("document_name"));
print_r($this->input->post("department_name"));

它显示 1 和 1...

我想要的是文本而不是选项的 ID 或值。 示例:我选择了IT部门和文件夹1,它将显示/记录IT部门和文件夹1到数据库。

最佳答案

检查这个:http://jsfiddle.net/Lev0sjjx/2/

注意:jquery 代码仅用于演示目的

HTML

<select id="test">
    <option value="1">Test One</option>
    <option value="2">Test Two</option>
</select>

Javascript/jQuery

function getSelectedText(elementId) {
    var elt = document.getElementById(elementId);

    if (elt.selectedIndex == -1)
        return null;

    return elt.options[elt.selectedIndex].text;
}

$(function() {
    $('#test').change(function() {
        var text = getSelectedText('test');
        alert(text);
    });
});

关于javascript - 如何从form_dropdown中获取选定的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26462023/

相关文章:

html - 如何在调整窗口大小时调整 div 的大小?

c# - 通过文本框和按钮搜索 mysql 数据库并将输出重定向到另一个页面

javascript - 正则表达式提取模式之间的文本

javascript - jQuery 在附加后选择可见元素

php - 在预印纸上打印来自 Web 应用程序的数据

php - 确定是否选择了其他 <option>,或者是否提交了带有空白值的默认值 "Select one..."

html - 当我扩展浏览器宽度时,CSS div 向下移动

javascript - Aurelia 委托(delegate) vs 触发器 : how do you know when to use delegate or trigger?

javascript - php 按位异或 和 js 按位异或产生不同的结果

php - 404 Page Not Found 没有找到您请求的页面。代码点火器