2016-02-10 34 views
0

我在我的jsp中有一个sx:autocompleter下拉列表和一个隐藏元素。预先在sx中选择一个选项:autocompleter

<sx:autocompleter list="vendorNameList" name="vendor_name" 
autoComplete="false" id="vendor_name" value="%{vendor_name}"/> 

<s:hidden name="vendorName" id="vName"></s:hidden> 

function setSelectedIndex() { 
selectionVname=dojo.widget.byId('vendor_name'); 
v=document.getElementById('vName').value; 

for (var i = 0; i < selectionVname.options.length; i++) { 

    if (selectionVname.options[i].text == v) { 

     selectionVname.options[i].selected = true; 

     return; 

    } 
} 
} 
window.onload = setSelectedIndex; 

我希望此vendorName成员的值在页面加载时作为预选的下拉值。我写的脚本不起作用。它在进入for循环之前就打破了。我怀疑selectionVname.options.length是否是写入sx:autocompleter的正确方法?

回答

0

当然这不是正确的方法,id不是HTML标记属性,而是一个JSP标记属性,并且您在JavaScript代码中虐待它。任何方式,如果你想预先选择你应该使用value属性的值。从文档page

valuefalsefalseString预置输入元素的值的描述

注意:因为Struts的2.1道场插件已弃用。

相关问题