繁体   English   中英

根据选择选项标签更改输入值

[英]Change value of input based on select option label

我一直在寻找解决方案,但是结果很短。 它与通常的解决方案有点不同。

我正在构建一个PHP Graph系统,作为其设置功能的一部分,我需要能够使用1个“选择”输入提交到MySQL数据库中的2列。 用户看到对眼睛友好的下拉菜单,选择对眼睛友好的选项,并添加了两个必需的值。 提交的一个值需要引用sql格式的列名(例如col_1),而另一个值必须是它的醒目标签(“列1”)。 因此,对于以下示例:

<select name="col_name" id="col_name">
        <option value="first_name">First Name</option>
        <option value="middle_name">Middle Name</option>
        <option value="second_name">Second Name</option>
</select>

<input type="hidden" name="col_title"></input>

将所选自动输入到隐藏的inout很容易,但是我需要所选选项的标签 (如果是它的名称)才能自动输入到隐藏的输入#col_title中。 因此,不是所选择的值(例如EG Middle_name),而是标签(Middle Name)(我找不到很多)。

有人可以帮忙吗? 谢谢!

使用.text()获取元素的文本。 :selected修饰符将选择选定的选项。

var label = $("#col_name option:selected").text();
$("input[name=col_title]").val(label);

尝试这个

HTML:

<select name="col_name" id="col_name">
    <option value="first_name">First Name</option>
    <option value="middle_name">Middle Name</option>
    <option value="second_name">Second Name</option>
</select>

<input type="hidden" name="col_title" id="textbox" />

jQuery的:

// init
$('#textbox').val($('#col_name option:selected').text());
//on selecting
$('#col_name').on('change', function() {
    $('#textbox').val($(this).find('option:selected').text());
});

工作示例: https : //jsfiddle.net/a3qk1s7g/

一种实现方法是使用JQuery,如下所示:

<html>
<head>
<title>Try</title>
<script src="https://code.jquery.com/jquery-3.1.0.min.js" type='text/javascript'></script>
</head>
<body>  

    <select name="col_name" id="col_name">
        <option value="first_name">First Name</option>
        <option value="middle_name">Middle Name</option>
        <option value="second_name">Second Name</option>
    </select>

    <input type="hidden" name="col_title" id="col_title"></input>

    <script type='text/javascript'>

        $("#col_name").change(function(){

            $("#col_name").children().each(function(){

                if(this.value == $('#col_name').val()){

                    $("#col_title").val(this.innerHTML);
                }

            });

            // console.log($("#col_title").val());

        });

    </script>
</body>

上面的代码在找到所选选项时侦听更改,并将其值复制到标签中;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM