javascript - 如何通过jquery中的onclick更改按钮文本

标签 javascript jquery html

在我的代码中,我有一个按钮文本作为每个用户的“邀请”。

当我点击按钮时,按钮文本应更改为 “待定请求”,通过使用 document.getElementById() 第一个按钮文本正在更改。我的要求是我点击特定按钮文本的所有按钮都应该更改。

但对我来说,当点击其他按钮时,第一个按钮的文字会单独改变。

这是一个编码:

HTML代码:

<div class="button_wrapper">
     <input onclick="getInvitevalue(__iProfId__)" type="button" value="Invite" name="InviteTeacher" class="InviteTeacher" id= "InviteTeacher"/>              
</div> 

Java 脚本代码:

function getInvitevalue(profileid) {
    //alert(profileid);
    var x = document.getElementById("InviteTeacher");
    if (x.value == "Pending Request")
        x.value = "Invite";
    else
        x.value = "Pending Request";
}

我该如何解决

最佳答案

您需要的是该按钮上的切换机制。 jQuery 这样的东西可以解决问题:

$('#InviteTeacher').toggle(function(){
    $(this).val('Pending Request');
}, function(){
    $(this).val('Invite');
});

你可以看看这个工作 FIDDLE .


更新:

如果许多类似的按钮需要这种行为,使用 class 属性将是比 id 属性更好的选择。在这种情况下,您可以使用如下标记:

<input type="button" value="Invite" name="InviteTeacher" class="InviteButton" />
<input type="button" value="Invite" name="InviteStudent1012" class="InviteButton" />
<input type="button" value="Invite" name="InviteStudent2230" class="InviteButton" />
<input type="button" value="Invite" name="InviteStudent3125" class="InviteButton" />

这对脚本影响不大:

$('.InviteButton').toggle(function(){
    $(this).val('Pending Request');
}, function(){
    $(this).val('Invite');
});

希望这有帮助:-)

关于javascript - 如何通过jquery中的onclick更改按钮文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690755/

相关文章:

javascript - 如何使用 watir 和 JavaScript 将 html 页面转储为 XML?

javascript - 搜索时删除前置用户

javascript - 使用输入类型按钮更新数据

javascript - 分离元素上的 knockout 绑定(bind)

php - 插入查询到MYSQL数据库

html - Rotativa 在服务器上的 css 样式有问题

php - jQuery POST 值到 PHP 脚本

javascript - 将多个 Canvas 保存为一张图像(制作像 PicFrame 一样的网站)

jquery - 计算乘积的总和和总计

javascript - 在下拉 javascript 菜单中居中链接