我有两个点击事件和两个按钮。隐藏了一个按钮,隐藏了一个输入。
当我点击未隐藏的按钮时,会出现隐藏按钮和隐藏的输入。当我单击隐藏的第二个按钮时,我得到输入的默认值。这是问题,它获得了默认值,默认情况下,我的意思是我在代码中value='dasad'
中输入的内容。它没有获得用户输入的值。
一些示例代码,不要将语法看作一个例子
$(button1).click(funciton(){
$(button2).show();
$(input2).show();
})
$(button2).click(function(){
$(input2).val();
})
我尝试使用delegate
,但它与click
结果相同。
答案 0 :(得分:1)
我尝试了以下内容并且能够让它工作
$(document).ready(function() {
$('#button1').click(function(){
$('#button2').show();
$('#input2').show();
});
$('#button2').click(function(){
alert($('#input2').val());
})
});
按钮设置为
<button id="button1">hello</button>
<button id="button2" style="display:none">hello 2</button>
<input id="input2" style="display:none" type="text" />
答案 1 :(得分:0)
$('#button1').click(function(){
$('#button2').show();
$('#input2').show();
return false;
});
$('#button2').click(function(){
var value = $('#input2').val();
alert(value);
return false;
});
答案 2 :(得分:0)
在这种情况下,你真的没有理由使用委托,但从我所看到的内容来看,这绝不是一个坏主意。
以下是JSfiddle做我认为你想要的事情的例子,从你的问题中说出来有点难以理解。
$(document).ready(function() {
$(".wrapper").delegate(".button1", "click", function() {
$(".innerDiv").show();
$(".input1").focus();
});
$(".wrapper").delegate(".button2", "click", function() {
$(".showVal").html($(".input1").val());
});
});