1、html中有如下input控件,代码如下<input type="hidden" name="productName" id="productName" value="测试产品名称">。
2、可以使用js通过id获取,var value = document.getElementById("productName").value。
3、下面我们alert(value),看一下是否获取到input的value值,可以看到,input的value值已经成功弹出。
4、还可以使用document.getElementsByName(name)的方法。
5、测试一下结果,同样还是alert,可以看到,依旧能够成功弹出value的值。
6、还可以通过jquery来获取input的value值,这需要引入jquery的js包,然后通过代码$("#id").val()获取,上面的例子可以使用$("#productName").val()。
7、也可以使用jquery的$("input['name=name']").val()来进行获取,比如上面的例子可以使用$("input['name=productName']").val()。
解决思路:将List转成json,传到界面。js中使用vararr=eval(‘${list}')将list转成js数组。参考代码如下:varkeyList=eval('${keysList}')varvalues=$("#paramsValues").val()varnoSet=[]for(vari=0i<keyList.lengthi++){if(values.indexOf(keyList[i])==-1){noSet.push(keyList[i])}}List数据,从java后台传至js中接收的方法:
新建bean类
public class Test {
private int Id
public int getId() {
return Id
}
public void setId(int id) {
Id = id
}
}
2.再建返回List<Bean类>的java方法
public List<Test>list(){
Test t=new Test()
t.setId(1)
List<Test>list = new ArrayList<Test>()
list.add(t)
return list
}
3.配置web.xml——补加导入dwr配置的代码
<servlet>
<servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
4.配置dwr.xml——creator+concert
<allow>
<create creator="new" javascript="service">
<param name="class" value="com.telek.dwr.Service" />
</create>
<convert converter="bean" match="com.telek.dwr.Test">
<param name="include" value="id"/>
</convert>
</allow>
5.js文件中正确接收
function callBackHello(data){
alert(data[0].id)
}
function testList(){
service.list(callBackHello)
}