简体   繁体   English

将输入字段设置为标签元素的当前值

[英]Set input fields to the current value of label elements

How can I get the current value of the label elements within function showEditionBlock() and set them to the corresponding input fields? 如何在函数showEditionBlock()获取标签元素的当前值并将其设置为相应的输入字段? The function will show the "edit" div, but the inputs are not getting the original values of the labels. 该函数将显示“ edit” div,但是输入未获取标签的原始值。

<html>
<head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

</head>
<script>
$(document).ready(
    function()
        {

           $("#companyNameText").keyup(
           function()
           {
               $("#companyNameLabel").html(this.value);
           });

           $("#companyCountryText").keyup(
           function()
           {
               $("#companyCountryLabel").html(this.value);
           });
    });
function showEditionBlock(){
    //$("div#edit").css('display','block').fadeIn("slow");  
    $("div#edit").fadeIn('slow', function(){ 
            $(this).css('display', 'inline'); 
        }); 
    }

function hideEditionBlock(){
    //$("div#edit").css('display','block').fadeIn("slow");  
    $("div#edit").fadeOut('slow', function(){ 
            $(this).css('display', 'none'); 
        }); 
    }



</script>
        <body>
                <div id="preview">
            <fieldset>
                        <label id="companyNameLabel" class="workExperience">
                                This is my company
                        </label>
                        <label id="companyCountryLabel" class="workExperience">
                                This is my company Country
                        </label>
                        <input type="button" value="edit" onclick="showEditionBlock();"/>
            </fieldset>
                </div>
                <div id="edit" style="display:none;">
            <fieldset>
                        <label>Company Name: </label>
                        <input type="text" id="companyNameText" />
                        <label>Company Country: </label>
                        <input type="text" id="companyCountryText" />
                        <input type="button" value="Ok" onclick="hideEditionBlock();"/>
            </fieldset>
                </div>
        </body>
</html>

You should assign the innerHTML of the labels to the value s of the inputs. 您应该将标签的innerHTML分配给输入的value s。 In plain ol' Javascript you can do something like: 在普通的Javascript中,您可以执行以下操作:

document.getElementById("companyNameText").value =
    document.getElementById("companyNameLabel").innerHTML;
document.getElementById("companyCountryText").value =
    document.getElementById("companyCountryLabel").innerHTML;

Using jQuery, this is the same: 使用jQuery,这是相同的:

$("#companyNameText").val($("#companyNameLabel").html());
$("#companyCountryText").val($("#companyCountryLabel").html());

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

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