2011-11-11 10 views
0

ブール値フィールドをlist_editableに配置すると、niceオン/オフアイコンからレガシーチェックボックスにアイコンが変わります。素敵なアイコンで編集可能なフィールドを維持する方法はありますか? 私はすでにこれをしていると思いますが、どういうことを覚えていないと思います...list_editableのブール値フィールドのオン/オフアイコンmodelAdmin

答えて

2

あなた自身のJavaScriptを使用して、チェックボックスを適切なイメージに置き換え、クリックイベントを使用してイメージを変更し、

CSS

.hidden { 
    position:absolute; 
    left:-99999px; 
    width:0; 
    height:0; 
    overflow:hidden; 
} 

JS

(function($){ 
    var on_image = '/static/admin/img/admin/icon-yes.gif'; 
    var off_image = '/static/admin/img/admin/icon-no.gif'; 

    $(document).ready(function(){ 
     var $checkbox = $('.checkbox_field input'); 
     // Can't simply `hide()` as its value will not be posted 
     $checkbox.addClass('hidden'); 
     var $img = $('<img/>'); 
     if ($checkbox.attr('checked')) { 
      $img.attr('href', on_image); 
      $img.attr('alt', 'On'); 
     } else { 
      $img.attr('href', off_image); 
      $img.attr('alt', 'Off'); 
     } 
     $img.insertAfter($checkbox); 

     $img.click(function(){ 
      var $img = $(this); 
      var $checkbox = $img.siblings('input'); 

      if ($img.attr('href') == on_image) { 
       $img.attr('href', off_image); 
       $img.attr('alt', 'Off'); 
       $checkbox.attr('checked', false); 
      } else { 
       $img.attr('href', on_image); 
       $img.attr('alt', 'On'); 
       $checkbox.attr('checked', true); 
      } 
     }); 
    }); 
)(django.jQuery); 
+0

場合、私はそれを投稿します、便利です答え、ありがとうございますが、私は実際にそれを行うには「Djangoの道」はあったと思います私はそれが戻って見つける... –

関連する問題