내 이미지에 라디오 버튼을 넣으려고합니다. 사용자가 하나의 이미지를 클릭하면 다른 라디오 버튼이 false로 설정되었는지 확인해야합니다.레일의 Javascript 및 radio_button - 한 번만 상태 확인
$('.image_choose').each(function() {
$(this).click(function() {
$('.image_choose').each(function() {
$(this).attr("style","border:1px solid #e5e5e5");
$(this).attr("id","in_active");
$inputs = $(this).find('input[type="radio"]');
$inputs.attr("checked", false);
});
$label = $(this), $input = $(this).find('input[type="radio"]');
$label.find('input').attr("checked", true);
});
});
레일 : 지금 내가 이런 일이
<% @array_new.each do |a|%>
<div class='image_containter'>
<li class='image_choose'>
<%= f.radio_button :image_url ,a %>
</li>
</div>
<% end %>
을 그래서 내가 생각하는 - image_choose 요소에 사용자가 클릭이 먼저 모든 image_choose에 내가 ATTR을 설정하고 false로 선택한 경우. 그리고 $ this 요소에 대해 true로 변경하십시오. 여기서 무엇이 잘못 되었습니까? 처음 이미지를 클릭 할 때만 radio_button은 그래프와 상태를 변경합니다.
일부 솔루션 :이 작업을 수행하는 그것의 좋은 방법을 생각 해달라고하지만 난 그 발견
는 :
$label.find('input').prop("checked", true);
$label.find('input').attr("checked", true);
내가 이렇게
- 그것이해야처럼 작업을 시작. .prop만이 입력을 체크하지 않습니다 = 'checked', 그리고 .attr만이 두 번째 클릭시 라디오 버튼 값을 변경하지 않습니다 ... 여기서 잘못된 점을 이해하지 못합니다.
당신은 HTML 소스를 추가 할 수 있습니다 또는 jsfiddle에서 예제를 만들 수 있습니다 ? – reporter
html에서 내가 클릭하는 모든 입력이 "선택됨"상태이고 선택된 다른 입력에 대해서는 제거됩니다. 그러나 여전히 라디오 버튼은 "선택"되어 있지 않으며, 그 그래프는 "확인"되지 않습니다 - 그리고 제 스크립트도 체크하지 않습니다. – Wordica
누군가가 도와 줄 수 있습니까? 이 스크립트에서 잘못된 점은 무엇입니까? 각 이미지를 처음 클릭하기 만하면 radio_button이 변경됩니다. 방화 광에서 나는 checkec = 'checked'를 볼 수 있지만 radio_button은 체크하지 않습니다. – Wordica