我有一个带输入的表单,Jquery将一个特定的输入(url输入)表单输入链接,但我有两个url输入,HTML ID是 url0 和 url1 ,当我想要编辑第一个输入/ url0时,url1的输入变为可见,并且对url1进行了更改而不是url0,当点击输入时,它会生成url1的值与url0相同,你可以看到我的意思here - jsfiddle
非常感谢
确切的步骤:
问题这两个输入(url0 / url1)混淆并在编辑时产生奇怪的行为。请查看上面的链接以查看
答案 0 :(得分:1)
奇怪的行为与你处理事件的方式有关
例如
$('#url0,#url1').val($(this).text()).show().focus();
在任一链接上单击即可打开两个输入。
您需要在输入和链接之间进行引用并对其进行维护,或者从链接到输入和返回动态更改它。
p.s并不认为几天后我会看到完全相同的代码:P
答案 1 :(得分:1)
请参阅jsFiddle here。
这是修改过的JS,当你点击链接时可以正常工作 -
$('.a0 a').click(function(e){
e.preventDefault();
$(this).parent().parent().find('input').val($(this).text()).show().focus();
$(this).parent().hide();
})
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
$(this).hide().prev().show().find('a').html(this.value);
})
}
);
当您点击链接所在的div - jsFiddle
时,以下情况有效$('.a0').click(function(e){
e.preventDefault();
$(this).parent().find('input').val($(this).find('a').text()).show().focus();
$(this).hide();
})
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
$(this).hide().prev().show().find('a').html(this.value);
})
}
);