2017-06-22 241 views
0

我有兩個隱藏的字段。當一個特定的單選按鈕被點擊時,我需要出現的字段。我不確定它爲什麼不起作用。我已經包含下面的代碼。隱藏的div不會隱藏/顯示在單選按鈕上點擊

html.erb文件:

<div class="row"> 
    <div class="mate-photo-label col-sm-4"> 
    <%= f.radio_button :check_request_type_id, '4' %><br><br> 
    <%= f.label :check_request_type_id, 'Commission Invoice', value: '4', class: 'text' %> 
    </div> 
    <div class="mate-photo-label col-sm-4"> 
    <%= f.radio_button :check_request_type_id, '2' %><br><br> 
    <%= f.label :check_request_type_id, 'Client Refund', value: '2', class: 'text' %> 
    </div> 
    <div class="mate-photo-label col-sm-4"> 
    <%= f.radio_button :check_request_type_id, '1' %><br><br> 
    <%= f.label :check_request_type_id, 'Landlord Reimbursement', value: '1', class: 'text' %> 
    </div> 
</div> 

html.erb文件#2:

<div class="commission-fields" style="display: none;"> 
    <div class="field"> 
    <%= f.label :commission_collected, "Commission Collected", class: "general-text-label" %><br> 
    <%= f.text_field :commission_collected, class: "general-text-field" %> 
    </div> 
    <div class="field"> 
    <%= f.label :commission_percentage, "Your Commission Percentage", class: "general-text-label" %><br> 
    <%= f.text_field :commission_percentage, class: "general-text-field" %> 
    </div> 
</div> 

js.file:

$(document).ready(function() { 
    $('input').change(function() { 
    if ($('input[value="4"]').is(':checked')) { 
     $('#commission-fields').show(); 
    } 
    else { 
     $('#commission-fields').hide(); 
    } 
    }); 
}); 
+0

在你的js中,試試'$(「:input」)'看到[這裏](https://api.jquery.com/input-selector/) –

+0

@NoamHacker那對我沒有用。 –

+2

man,你正在使用'#'而不是'''作爲你的jquery中的選擇器,那是一個類,而不是一個id。 – fanta

回答

3

的問題是聯合國的jQuery選擇顯示隱藏要素,更改:

$('#commission-fields').show(); 

$('#commission-fields').hide(); 

到:

$('.commission-fields').show(); 
$('.commission-fields').hide(); 
0

看樣子你沒有鏈接到圖書館的jQuery功能。

嘗試在你的頭添加此:

<script src="jquery-3.2.1.min.js"></script> 
+0

感謝您的反饋,但這不是問題。 jQuery CDN已經添加到別處了。 –

相關問題