2012-01-20 24 views
0

次のようにdjangoのjQueryライブラリを使用しようとしています。 domainは、フォームid = emailaccount_formを持つフォームのid = id_domainを持つ選択フィールドです。これらのidはdjangoによって自動的に生成されます。django.jQuery with django admin change_form.html

<script type="text/javascript"> 
(function($){ 
    $(document).ready(function($){ 
    var form = $("emailaccount_form"); 
    var domain = $("id_domain"); 
    //number of domains include null as 1 value 
    alert(domain.length); 
    if ((!domain[0].value) && (domain.length > 1)){ 
     if (domain.length == 2){ 
     //select domain by default as it is the only available choice 
     domain.selectedIndex = 1; 
     alert('Domain ' + domain.value); 
     } 
    } 
    }); 
})(django.jQuery); 
</script> 

実行では、私はdomain.length値が0であることがわかり、実際に選択の選択肢では2つのオプションがあるのに対し、次のようにjqueryのための静的ファイルtest.jsコードで

です。どうして?ドメインがアラート(ドメイン)として表示されている場合、オブジェクトのオブジェクトではなくオブジェクトであるHTMLSelectElementを表示します。 django.jQueryと間違っている何

<script type="text/javascript"> 
    var domain = document.getElementById("{{ adminform.form.domain.auto_id }}"); 
    alert(domain); 
    alert ("Number of domains: " + (domain.length-1)); 
    </script> 

は私が期待される結果を得るところ、以下のように第二ケースJavaScriptを考えてみましょう。誰もガイドできますか?また、オプションの1つとして、[選択]ボックスの最初の空白値を取り除く方法もあります。私はdjango.jQueryだけを使用したい!

答えて

1

ハッシュマークが足りないのですか? JavaScriptのnative getElementByIdはIDを選択するのに対し、jQueryはIDを選択するために必要なことを覚えておいてください。

var form = $("#emailaccount_form"); 
var domain = $("#id_domain"); 
+0

笑 - このような単純な答えは、まだ正しい(と思う):)グッドキャッチjQueryの – WTK

+0

ありがとうもケースにはselectedIndexプロパティを設定する方法を選択し、ドロップダウンで唯一の1つの選択肢がありますjqueryで – user956424

+0

でちょうど私の2日目 – user956424