更改按钮的文本值

时间:2013-01-23 12:49:51

标签: javascript jquery html

我的切换有问题。我找到了类似的帖子,但没有一个我真正理解的。

我希望按钮在单击时将文本更改为“项目信息 - ”,再次单击时将恢复为“项目信息+”

这是问题(项目信息按钮) - > http://marcuspedersen.com/oyafestivalen.html

代码:

jquery

$('#toggle').click(function() {
    $('#workinfo').slideToggle (300, 'linear'); 
});

按钮

<input type="button" id="toggle" value="Project Info +"/>

2 个答案:

答案 0 :(得分:4)

我建议:

$('#toggle').click(function(e){
    // you may also want:
    // e.preventDefault();
    // depending what else you're doing, and how you're doing it
    $(this).val(function(i,v){ return v == 'Project Info +' ? 'Project Info -' : 'Project Info +'; });
});

JS Fiddle demo

顺便提一下,如果您对同一个元素/ jQuery对象执行多个操作,则最好缓存该对象,然后使用缓存的对象进行将来的操作。

请记住我在这里使用了click(),而不是toggle(),因为后者在jQuery 1.9中已被弃用。

参考文献:

答案 1 :(得分:1)

试试这个

$('#toggle').click(function() {
    $('#workinfo').slideToggle (300, 'linear');
    $(this).val( $(this).val() == 'Project Info +' ? 'Project Info -' : 'Project Info +'); 
});