提问人:Jeff 提问时间:3/5/2015 更新时间:3/5/2015 访问量:303
jQuery append() 不会附加到我的元素
jQuery append() won't append to my element
问:
由于某种原因,jQuery append() 不适用于我下面的任何代码示例。你明白我做错了什么吗?我正在尝试禁用提交按钮并附加一些显示“正在处理...”的文本。
示例代码 1:
$( "input[type='submit']" ).click( function()
{
$( this ).attr( "disabled", "disabled" );
$( this ).parents( "form" ).submit();
$( this ).append( " Processing..." ); // no worky
//$( "input[type='submit']" ).append( " Processing..." ); // no worky
});
示例代码 2:
$( "form" ).submit( function()
{
//$( "#submit_button" ).append( " Processing..." ); // no worky
$( this ).find( "input[type='submit']" ).prop( "disabled", "disabled" );
$( "#submit_button" ).append( " Processing..." ); // no worky
});
答:
1赞
Jai
3/5/2015
#1
使用这个:
$(this).val(" Processing..."); // if <input type="submit">
$(this).text(" Processing..."); // if <button type='submit'>
1赞
Spokey
3/5/2015
#2
我猜您正在尝试更改显示的文本..但是,由于它是输入,因此显示的文本是输入的值。
$("input[type='submit']").val(' Processing...'); // worky
$("#submit_button").val(' Processing...'); // worky
0赞
Pioter
3/5/2015
#3
试试这个 : $( this ).attr('value','Processing...');
评论
0赞
empiric
3/5/2015
你可以用代替.val()
.attr('value')
0赞
Yogesh Sharma
3/5/2015
#4
试试这个
$( "input[type='submit']" ).click( function()
{
$(this).attr( "disabled", "disabled" );
$(this).parents( "form" ).submit();
$(this).val( " Processing..." ); // no worky
//$( "input[type='submit']" ).append( " Processing..." ); // no worky
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div class="prog"></div>
<input type="submit" />
0赞
I'm Geeker
3/5/2015
#5
试试这个
$("#submit_button").val(' Processing...');
2赞
Optimus
3/5/2015
#6
试试这个
$( this ).after( " Processing..." );
$( this ).append( " Processing..." );
实际上像这样在输入标签中附加文本,它不会显示在前端,但如果你使用 after,它会在输入元素之后附加文本<input type="submit">processing</input>
评论
0赞
Jeff
3/5/2015
after()
是我想要的。我没有意识到在输入中添加了元素。append()
0赞
Optimus
3/5/2015
@Jeff我;)犯了同样的错误
0赞
Shridhar
3/5/2015
#7
您在提交表单后附加文本,而不是在提交表单之前附加“处理”,如下所示
$( this ).append( " Processing..." );
$( this ).attr( "disabled", "disabled" );
$( this ).parents( "form" ).submit();
我认为您需要将按钮值显示为“正在处理”,因为您必须执行以下操作
$( this ).val( " Processing..." );
$( this ).attr( "disabled", "disabled" );
$( this ).parents( "form" ).submit();
将 append 替换为 val。
0赞
user4088854
3/5/2015
#8
用户 .after() 将尝试在当前jQuery中添加或更改节点
Check this JS Fiddle (https://jsfiddle.net/548acobq/1/)
评论