簡體   English   中英

dojotype =“ dijit.form.FilteringSelect”導致'options.length'為null或不是對象javascript錯誤

[英]dojotype=“dijit.form.FilteringSelect” causing 'options.length' is null or not an object javascript error

在執行以下代碼時,我得到javascript錯誤'options.length'為null或不是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;
        }
    }

這是因為當您將shoppingCategoryCode1轉換為Select小部件時,它不再是<select> DOM元素。 使用您喜歡的瀏覽器開發人員工具並檢查對象; 您會看到它對表和隱藏的輸入做了一些瘋狂的事情。

如果您的目標是選擇特定選項,請嘗試使用dijit.byId("shoppingCategoryCode1").set("value", "WHOLE")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM