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>" )
});
})
});
}