2014-04-22 21 views
1

我有一個表單來創建一個真/假的問題。我正在嘗試使用按鈕來從true和false切換text_field的值。 (我真的不在乎它以什麼方式完成,我只是希望用戶能夠輕鬆地將答案更改爲true或false。按鈕切換文本字段,true和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

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

我清理你的SYN一些稅收以及與此想出了 -

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

此外,你必須兩個元素具有未在HTML頁面允許相同的ID。你會得到不可思議的結果。你可以將它們改爲類。

改爲按鈕,而不是一個鏈接 - http://jsfiddle.net/jayblanchard/ene5w/1/

更改按鈕的文本 - http://jsfiddle.net/jayblanchard/ene5w/2/

+1

很棒, +1的HTML協助。 – DDDD

1

試試這個:

if ($("#answer").val() === 'False') { 
    $("#answer").val('True'); 
} else { 
    $("#answer").val('False'); 
} 
+0

所以這個工作,但點擊text_field只有當。你知道如何讓按鈕起作用嗎? – DDDD

+0

用'id'改變'#answer',我注意到你已經爲'button'和'text''輸入'設置了相同的'id',使用'class'名字或者改變'id' –