用于更新字段中文本的按钮

时间:2014-03-07 04:06:17

标签: jquery

所以我有一些使用输入字段的东西和一个添加字段的新副本的按钮。接下来,我想在点击时用新问题更新初始输入字段。

HTML:

<input type="text" name="input" id="input" size="30" value="What is your name?">
<a href="#" id="addScnt">Enter</a>

<div id="namess">
<div>
    <label for="names"></label>
</div>
</div>

JQUERY:

var $input = $("#input");

$(function () {
var scntDiv = $('#namess');
var i = $('#namess p').size() + 1;

$('#addScnt').live('click', function () {
    $('<p><label for="names"><input type="text" name="names_' + i + '" id="name" size="30" value="' + $input.val() + '"></label><a href="#" id="remScnt">  Remove</a></p>').appendTo(scntDiv);
    i++;
    return false;
});

$('#remScnt').live('click', function () {
    if (i > 1) {
        $(this).parents('p').remove();
        i--;
    }
    return false;
});
});

这是我的小提琴:http://jsfiddle.net/miketrujillo/nV2tA/

我担心我不得不想出一个全新的方法让它工作.. json和array?

2 个答案:

答案 0 :(得分:0)

这可以解决您的问题吗?单击输入按钮后,这应该更新您的初始输入字段。

 $("#addScnt").click(function(){
     $(this).attr("value", "Ask your new question here...");
 }

好的,所以你可能想在下面这样做。这将只需点击一下即可完成。

$('#addScnt').live('click', function () {
    $('<p><label for="names"><input type="text" name="names_' + i + '" id="name" size="30" value="' + $input.val() + '"></label><a href="#" id="remScnt">  Remove</a></p>').appendTo(scntDiv);
    i++;
    $(this).attr("value", "Ask your new question here...");
    return false;
});

答案 1 :(得分:0)

1)更改新添加的inut id以删除重复ID,就像您为每个输入设置了名称一样 2)然后在点击新创建的输入元素时添加一个事件。

尝试这样:

 $('<p><label for="names"><input type="text" name="names_' + i + '" id="names_' + i + '"size="30" value="' + $input.val() + '"></label><a href="#" id="remScnt">  Remove</a></p>').appendTo(scntDiv);

和新元素事件:

$(document).on("click",'input[id^="names_"]',function(){

    $(this).val("what is your new question?");
    // do what ever you want here

})

jsFiddle