可以将dijit.byId('')。value获得的值与String进行比较吗?

时间:2016-01-13 05:49:13

标签: javascript html dojo

我对 Spring MVC Dojo / Dijit 小部件相对较新,我遇到了问题。我需要根据从下拉列表中选择的选项取消阻止特定div,即当用户选择原因为“没有经验”时,我应该使用div取消阻止id = "unexpUser" style="display:none;"以收集一些其他信息。

JSP -

<select data-dojo-type="dijit.form.Select" name="userReason" id = "reason">
    <option value="opt0">Experienced</option>
    <option value="opt1">Not experienced</option>
</select>

JC -

<script>
if(dijit.byId('reason').value == "opt1"){
    unexpUser.style.display = 'block';  
    }
</script>

当页面加载时,下拉列表中显示的选项为“Experienced”。当我将选项更改为“未体验”时,我需要取消阻止div,但这个特定代码似乎不是正确的比较代码。请帮忙。

3 个答案:

答案 0 :(得分:0)

.value不是从dijit widget获取价值的正确方法,而是使用:

dijit.byId('reason').get("value")

答案 1 :(得分:0)

使用onchange监听器:

topicDetails

答案 2 :(得分:0)

好吧,我弄错了。这是解决方案。 @Harpreet Singh您的解决方案与此代码完美配合 JSP-

<form:select data-dojo-type="dijit.form.Select" path "" name="userReason" id = "reason" onchange="myFunction1();">
                                            <option value="opt0">Experienced</option>
                                            <option value="opt1">Not experienced</option>

                                    </form:select>

在我的JS中我创建了一个String比较函数。 JS -

<script>
function myFunction1(){
if(dijit.byId('reason').get("value") == "opt1"){

     unexpUser.style.display = 'block'; 

    }
</script>
这是有效的。非常感谢你的帮助!