按钮文本不会更改jQuery

时间:2015-09-19 02:53:37

标签: javascript jquery

好的,我现在已经搞乱了几个小时,然后决定问。我搜索过StackOverflow和Google,没有解决方案。我正在尝试更改按钮的文本,如下所示。

<input id="btnRegUpdate" type="submit"  onclick="updatePrice(1)" value="Correct">

调用updatePrice()函数并检查一些事情,最后我有一个if语句检查值是否正确,如果是,它将更改文本,或者假设为

var btnRegUpdate = $('#btnRegUpdate');

if (btnRegUpdate.attr('value') == 'Correct'){
    logMessage("Button was correct");
    btnRegUpdate.text("Update");
}

此时我已尝试此解决方案jQuery change button text中的所有内容,但没有任何效果。我得到了logMessage,但按钮仍然没有改变。

更新:似乎没有任何效果。我在一个新函数中再次尝试了一切,以防万一其他逻辑搞乱了。在做了快速测试以查看文本是否发生变化

之后
function updatePrice2(val, e) {
    e.preventDefault();
    var btnRegUpdate = $('#btnRegUpdate');

    if (btnRegUpdate.attr('value') == 'Correct') {
        logMessage("Button was correct");
        btnRegUpdate.val("Update");
    }else if(btnRegUpdate.attr('value') == 'Update'){
        logMessage('Button was update');
        btnRegUpdate.val("Correct");
    }
}

并且控制台显示它已更改但未在屏幕上显示。

6 个答案:

答案 0 :(得分:0)

var btnRegUpdate = $('#btnRegUpdate');
if (btnRegUpdate.val() == 'Correct'){
    btnRegUpdate.attr('Value',"Update");
}

尝试使用btnRegUpdate.attr('Value',"Update");

Demo

答案 1 :(得分:0)

试试这个:

  

阻止提交按钮的默认操作

     

使用val()

更改按钮的值

&#13;
&#13;
function updatePrice(val, e) {
  e.preventDefault();
  var btnRegUpdate = $('#btnRegUpdate');

  if (btnRegUpdate.attr('value') == 'Correct') {
    console.log("Button was correct");
    btnRegUpdate.val("Update");
  }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="btnRegUpdate" type="submit" onclick="updatePrice(1,event)" value="Correct">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

输入元素的文本由其value属性定义,而不是content。要更改文本,请更新value属性:

btnRegUpdate.attr('value', "Update");

而不是

btnRegUpdate.text("Update");

答案 3 :(得分:0)

使用jQuery,您可以使用.html()来更改内容。它的工作原理与javascript的.innerHtml

相同
var btnRegUpdate = $('#btnRegUpdate');

if (btnRegUpdate.attr('value') == 'Correct'){
    logMessage("Button was correct");
    btnRegUpdate.html('Update')
}

答案 4 :(得分:0)

return false添加到点击处理程序。

<input id="btnRegUpdate" type="submit"  onclick="updatePrice(1); return false;" value="Correct">

否则页面将尝试提交并重新加载。

答案 5 :(得分:0)

你的功能很好看,我不知道它不起作用。

function updatePrice2(val, e) {
    e.preventDefault();
    var btnRegUpdate = $('#btnRegUpdate');

    if (btnRegUpdate.attr('value') == 'Correct') {
        logMessage("Button was correct");
        btnRegUpdate.val("Update");
    }else if(btnRegUpdate.attr('value') == 'Update'){
        logMessage('Button was update');
        btnRegUpdate.val("Correct");
    }
}

我建议你检查你的页面并找到id&#34; btnRegUpdate&#34;,也许它看起来不止一个。