所以我有一些使用输入字段的东西和一个添加字段的新副本的按钮。接下来,我想在点击时用新问题更新初始输入字段。
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?
答案 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
})