0
私はRailsのでAJAXを経由して実行されます、次のスクリプトを持っている:jQueryの:チェック/チェックを外すDOM要素
をそれだけで最初に指定したオプション(チェックを外す)が動作することが表示されます、それ以外の文の内側部分はありませんうまくいかない!
<% if params[:type] == "switch" %>
var obj = $('.<%= params[:name] %> a:not(.label) #myonoffswitch:checkbox');
<% if params[params[:name]] %>
obj.prop('checked', false);
<% else %>
obj.prop('checked', true);
<% end %>
<% elsif params[:type] == "checkbox" %>
<% if params[params[:name]] %>
$('.<%= params[:name] %> a:not(.label)').remove();
$('.<%= params[:name] %>').prepend("<a data-remote='true' href='/update?name=<%= params[:name] %>&<%= params[:name] %>=true&type=checkbox'><i class='icon ion-android-checkbox-outline-blank' tabindex='0'></i></a>");
$('.<%= params[:name] %> a:not(.label) i').focus();
<% else %>
$('.<%= params[:name] %> a:not(.label)').remove();
$('.<%= params[:name] %>').prepend("<a data-remote='true' href='/update?name=<%= params[:name] %>&<%= params[:name] %>=false&type=checkbox'><i class='icon ion-android-checkbox' tabindex='0'></i></a>");
$('.<%= params[:name] %> a:not(.label) i').focus();
<% end %>
<% end %>
DOM
<div class="name flex">
<a data-remote="true" href="/update?name=name&name=false&type=switch"><div class="onoffswitch">
<input checked="" class="onoffswitch-checkbox" id="myonoffswitch" name="onoffswitch" type="checkbox">
<label class="onoffswitch-label" for="myonoffswitch"></label>
</div>
</a>
<div class="label">
<a class="abc label" data-remote="true" href="/update?name=name&name=false&type=switch">ABC
</a>
<p class="abc labeltext">Lorem ipsum.</p>
</div>
</div>
<div class="name1 flex"><a data-remote="true" href="/update?name=name1&name1=true&type=checkbox">
<i class="icon ion-android-checkbox-outline-blank" tabindex="0"></i></a>
<div class="label">
<a class="abc label" data-remote="true" href="/update?name=name1&name1=false&type=checkbox">ABC
</a>
<p class="abc labeltext">Lorem ipsum.</p>
</div>
</div>
はしかし、私は、チェックボックスやスイッチがチェックされている場合にのみ、それは未確認取得し、それがオフになっている場合、それは外観(DOMだ変更されないことに気づきました)。
私は間違っていますか?
を得ている:/ – jonhue
ノートのおかげで、しかし、それは間違いです! – jonhue