如何传递更新的输入值?

时间:2015-06-13 23:06:09

标签: jquery html

我有一个带值的输入字段。我试图捕获添加到该输入的新文本并将其作为值传递给另一个输入。然而,每次我传递它,它都是传递的旧值。我意识到这可能是我正在制作的一个简单的错误,但我似乎无法使其工作,尽管我已尝试多次使用不同的方法。我试图使用Zurb Joyride插件执行此操作。因此,第一个输入是在演练的一个步骤内,并将传递给页面本身的输入。

非常感谢任何帮助。

以下是精简代码:

HTML

<input type="text" id="egText" value="Stuff" />
<a href="#" onclick="addText()" class="btn">Button</a>
<input type="text" id="searchBox" placeholder="A placeholder" /> 

JS

function addText() {
    var text = $("#egText").val();
    $("#searchBox").val(text);
}

的jsfiddle http://jsfiddle.net/Figlen/zyapmc7h/

3 个答案:

答案 0 :(得分:0)

  $('.btn').on('click', function(){
    var text = $("#egText").val();
    $("#searchBox").val(text);

}); 

http://jsfiddle.net/g8uuL6a7/

我已经包含了小提琴,这是不使用内联函数的最佳做法。

答案 1 :(得分:0)

我更新了你的小提琴并添加了一个事件处理程序来检测点击而不是通过函数执行

Here is the fiddle

$(document).ready(function(){
    $("#myBtn").click(function(){
        var text = $("#egText").val();
        $("#searchBox").val(text);    
    });
});

您的链接应该有id="myBtn"

答案 2 :(得分:0)

感谢您的回复,但我遇到的问题(更新的输入值未通过)原来是由于Zurb Joyride的工作方式。要创建它,你要设置一个ol,其中li是joyride / walkthough的步骤。然后,Joyride JS基于列表项创建一组新的div。然后#egText的id在页面中两次,弄乱了值的设置。使用

var text = $(this).parent()。find(&#39;#egText&#39;)。val();

修复它。

感谢。