jQuery获取及设置单选框,多选框,文本框内容

12 篇文章 0 订阅
在工作中,text,radio,checkbox,select在开发过程中是必不可少的一部分.在开发过程中经常要处理页面表单元素.
[size=large][color=red]Eg:[/color][/size]
在复选框checkBox中获取checked的value值,来触发和调用其它页面表单元素,制作互动性更强更友好的用户体验.
jQuery通过元素$(#id)产生一个object对象,通过对获取的对象输入了解,获取任何元素中的任何信息.
为了以后工作方便,我总结了相关jQuery操作object对象的方法,获取下拉框selected,复选框checkBox,文本框text,radio value值

[size=large][color=green]其操作过程:[/color][/size]
1.jQuery获取object对象,(select对象,checkbox对象,text对象)
2.获取对象值,对于值唯一的元素,如:select,text通过get()方法获取value值.(get(0)如同数组下标,默认值是从0开始),对于数据元素,如checkbox通过each循环获取value值
3.获取表单元素值主要是jQuery中get()对象访问方法,其次是each()方法,$(#id)产生的是一个对象,获取其中的hi完全可以使用jQuery对象访问方法.
(1).each()循环,相当于foreach;
(2).size()统计个数
(3).length()统计个数
(4).get()单个或多个
(5).index()索引

[size=x-large][color=darkblue]载入jQuery库的最佳方法[/color][/size]
<SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></SCRIPT>
<script type="text/javascript">!window.jQuery && document.write('<script type="text/javascript" src="/js/jquery-1.4.4.min.js"><\/script>');</script>

Error: [color=orange][size=x-large]uncaught exception: Syntax error, unrecognized expression: [@type='radio'][/size] [/color]
[color=red]在Jquery-1.4.2版使用该方法会报错,“name”属性前不用加“@”符号。[/color]
Eg:[color=red]
$("input[name=radioId]:radio").attr("checked",'r2');//设置value=r2的项目为当前选中项
$("input[@type=radio][value=r2]").attr("checked",'checked'); //设置value=r2的项目为当前选中项[/color]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery教程基础篇之强大的选择器-过滤选择器-表单对象属性过滤选择器</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></SCRIPT>
<script type="text/javascript">!window.jQuery && document.write('<script type="text/javascript" src="/js/jquery-1.4.4.min.js"><\/script>');</script>
<script type="text/javascript">
$(document).ready(function(){
//对表单内 可用input 赋值操作.
$('#btn1').click(function(){
alert(document.getElementById("add").value);
$("#form1 input:enabled").val("这里变化了!");
return false;
})
//对表单内 不可用input 赋值操作.
$('#btn2').click(function(){
//获得当前text文本框的value值
//$("#email").get(0).value;
alert($("#email").attr("value"));
$("#form1 input:disabled").val("这里变化了!");
return false;
})

//使用:checked选择器,来操作多选框.
$(":checkbox").click(countChecked);
function countChecked() {
//多选框checkbox
$("#chk2").attr("checked",true); //checkbox选中
var n = $("input:checked").length;
$("div").eq(0).html("[b]有"+n+" 个被选中![/b]");
}

countChecked();//进入页面就调用.

//使用:selected选择器,来操作下拉列表.
$("select").change(function () {
var str = "";
//后迭代器 =====>选取select里面的元素
$("select :selected").each(function () {
str += $(this).text() + ",";
});
alert(str);
//获得selected值
var sele = $("#selectId option:selected").get(0).value;
alert(sele);
$("div").eq(1).html("[b]你选中的是:"+str+"[/b]");

}).trigger('change');

//获得radio对象
$("#rButtonId").click(function(){
var radioObj = $("[name='radioId']:checked");//获取当前checked的value值
var radio = radioObj.get(0).value;
//var radioObj = $("[name='radioId']:checked").get(0).value;
$("#rResult").html("结果:"+radio);
});

//Jquery1.4.2之后的版本,"name","value"前不用加"@"符号.
//error:uncaught exception: Syntax error, unrecognized expression: [@type='radio']
$("input[name=radioId]:radio").attr("checked",'r2');//设置value=r2的项目为当前选中项
//$("input[@type=radio][value=r2]").attr("checked",'checked'); //设置value=r2的项目为当前选中项
});
</script>
</head>
<body>
<h3> 表单对象属性过滤选择器.</h3>

<form id="form1" action="#">
<button type="reset">重置所有表单元素</button>



<button id="btn1">对表单内 可用input 赋值操作.</button>
<button id="btn2">对表单内 不可用input 赋值操作.</button>


可用元素:<input type="text" name="add" id="add" value="可用文本框"/> <br/>
不可用元素:<input type="text" name="email" id="email" disabled="disabled" value="不可用文本框"/><br/>
<br/>
<!-- 获取checkbox的checked值 -->
多选框:<br/>
<input type="checkbox" name="newsletter" checked="checked" value="test1" />test1
<input type="checkbox" name="newsletter" value="test2" id="chk2"/>test2
<input type="checkbox" name="newsletter" value="test3" />test3
<input type="checkbox" name="newsletter" checked="checked" value="test4" />test4
<input type="checkbox" name="newsletter" value="test5" />test5
<div></div>

<br/><br/>
<!-- 获取select的selected值 -->
下拉列表2:<br/>
<select id="selectId" >
<option>浙江</option>
<option>湖南</option>
<option selected="selected" >北京</option>
<option>天津</option>
<option>广州</option>
<option>湖北</option>
</select>
<br/><br/>
<div></div>



<input type="radio" name="radioId" value="r1" />
r1
<input type="radio" name="radioId" value="r2" />
r2
<input type="radio" name="radioId" value="r3" />
r3
<input type="button" id="rButtonId" value="获取radio值" />
<span id="rResult"></span>
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值