用于切换文本字段的按钮,true和false

时间:2014-04-22 18:39:36

标签: javascript jquery ruby-on-rails

我有一个表单来创建一个真/假问题。我试图有一个按钮来切换text_field的值从true和false。 (我真的不在乎它是怎么做的,我只是希望用户能够轻松地将答案改为真或假。

这就是我所拥有的,它只会将一次切换为false,只有在单击文本字段而不是按钮时才有效。我正在尝试学习javascript,所以请耐心等待......

<%= f.label :content, "Answer" %>
<%= f.text_field :content, :value => 'True', :readonly => true, :class => "d-id", :id => "answer" %>
<%= button_tag "Toggle True/False", :id => "answer", :class => "btn btn-small btn-inverse", :type => "button" %>


<script>
function checkAnswer() {
if ($("#answer").val('False'))
    {
    $("#answer").val('True');
    }
    if ($("#answer").val('True'))
    {
    $("#answer").val('False');
    }
}

$(document).ready(function(){
    $('#answer').click(function () {
    checkAnswer();
    });
})
</script>

2 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/jayblanchard/ene5w/

我清理了你的语法并提出了这个 -

function checkAnswer() {
    var answer = $('#answer').val();
    if ('False' == answer) {
        $("#answer").val('True');
    } else {
        $("#answer").val('False');
    }
}

此外,您有两个具有相同ID的元素,这在HTML页面中是不允许的。你会得到不可思议的结果。您可以将这些更改为类。

更改为按钮而非链接 - http://jsfiddle.net/jayblanchard/ene5w/1/

更改按钮的文字 - http://jsfiddle.net/jayblanchard/ene5w/2/

答案 1 :(得分:1)

试试这个:

if ($("#answer").val() === 'False') {
    $("#answer").val('True');
 } else {
    $("#answer").val('False');
}
相关问题