0

以下のコードの実行中に、javascript エラー 'options.length' is null or not an object が発生します。ただし、select タグ内の jsp で "dojotype="dijit.form.FilteringSelect" を削除すると、問題なく動作します。dojotype 属性がコードにない場合、アラートは正しい値を出力しますが、dojotype 属性が存在する場合は空白を表示します。何が問題を引き起こしているのかわかりません.貴重な助けを求めています.ありがとう.

.jsp

<select name="shoppingCategoryCode1"      
id="shoppingCategoryCode1"       onchange="RatePlan.onchangeShoppingCategory();
RatePlan.updateStatus(true);"
dojotype="dijit.form.FilteringSelect"              
isValid = "RatePlan.shoppingCategoryIsValid1"
invalidMessage="<spring:message 
code='rateplan.validation.shopping.category.validation'/>"
>

.js

var sel=dojo.byId("shoppingCategoryCode1");
    alert(sel.options.length);
    for(var i = 0; i < sel.options.length; i++) {
        if(sel.options[i].value == "WHOLE") {
            sel.selectedIndex = i;
            break;
        }
    }
4

1 に答える 1

0

<select>これは、 shoppingCategoryCode1 を Select ウィジェットにすると、 DOM 要素ではなくなるためです。お気に入りのブラウザー開発者ツールを使用して、オブジェクトを検査します。テーブルと非表示の入力でクレイジーなことを行うことがわかります。

あなたの目標が特定のオプションを選択することである場合は、次のようなものを試してくださいdijit.byId("shoppingCategoryCode1").set("value", "WHOLE")

于 2013-03-27T12:21:12.720 に答える