jquery+flexigrid制作表格中的小细节



jquery+flexigrid制作表格中的小细节.

1、用jquery获取input输入框的值比用js获取要方便的多,不过如果你刚接触jquery,还是很容易出错的!下面来看看我用jquery获 取input文本输入框值的经历! 刚开始我以为用jquery取值和JavaScript取值是一样的过程,于是在用$(“#id”)来获得页面的input元 素的时候,发现$(“#id”).value不能取到值,后来经查证才知道:$(“”)是一个jquery对象,而不是一个dom element value是dom element的属性 jquery与之对应的是val val() :获得第一个匹配元素的当前值。val(val):设置每一个匹配元素的值。

所以代码应该这样写:
取值:val = $(“#id”)[0].value;
赋值:$(“#id”)[0].value = “new value”;
或者$(“#id”).val(“new value”);
或者这样也可以:val = $(“#id”).attr(“value”);

2、$(“#selectDemo”).find(“option:selected”).text():获取选中的下拉框中的值

在flexigrid中获取记录信息

$(‘.trSelected’, grid).find(“td:first”).eq(i).text();//获取选中的记录的第一个字段的值,即ID的值

$(‘.trSelected’, grid).length;//选中的记录条数

 

3、确认删除提示框的格式

confirm(‘是否删除这 ‘+selected_count + ‘ 条记录吗?’)

 

4、readonly和disable属性的设置为true or false, 当为true时,则使这些控件不可输入

即:$(‘# TypeUP’).attr(“readonly”,true);

$(‘# TypeUP’).attr(“disabled”,false);

5、去掉文本框内值前后空格

$.trim($(“#keywords”).val());

6、jquery+flexigrid解决中文乱码问题

javascript 里用 encodeURI(“中文String”) 进行编码发送 // 地址栏里直接传送中文

若是在地址栏直接传送中文,则要进行两次转码 encodeURI(encodeURI(“中文String”))// java中接收同时解码
//java中解码回来用 java.net.URLDecoder.decode(“接收到的String”,”UTF-8″

前台:

//encodeURI(encodeURI(keywords):将页面录入中文进行编码,在后台再解析

$(“#listTab”).flexOptions({“url”:url+”&lang=cn”+”&keywords=”+ encodeURI(encodeURI(keywords)) });

后台:

//将页面传人的中文信息进行解析


java.net.URLDecoder.decode(form.getRequest().getParameter(“keywords”),”UTF-8″);

7、将查询到的数据填充下拉列表框内容

ajaxAddOptions(“<%=request.getContextPath()%>/help.do “, [$("#selectDemo")], “id”, “cell”);

function ajaxAddOptions(url, targets, id, text){

$.each(targets, function(i){//遍历

var target=targets[i];

target.empty();

if(target.attr(“id”)==”selectDemo”){

target.append(“<option value=”></option>”);

}

});

$.getJSON(url, function(json){

$(json).each(function(i){

var x = json[i];

$.each(targets, function(i){

var target=targets[i];

target.append(“<option value=’” + eval_r(“x.” + id) + “‘>” eval_r(“x.” + text) + “</option>” )

});

})

});

}

 

http://zhwlsoft.blog.163.com/blog/static/176371202201235115348130/