对于以下select标签,获取当前选择的值得方式如下:
<select id="test" name="">
<option value="1">text1</option>
<option value="2">text2</option>
</select>
code:
一:javascript原生的方法
1:拿到select对象: var myselect=document.getElementById("test");
2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index
3:拿到选中项options的value: myselect.options[index].value;
4:拿到选中项options的text: myselect.options[index].text;
二:jquery方法(前提是已经加载了jquery库)
1:var options=$("#test option:selected"); //获取选中的项
2:alert(options.val()); //拿到选中项的值
3:alert(options.text()); //拿到选中项的文本
[2]js数组转json并在后台对其解析具体实现
想必大家在开发过程中也遇到类似问题,如果直接将js获取的数组传给后台,后台是无法区分数组的,因为js数组如果是二维的就是这样的:1,张三,23,2,李四,26
所以在此对其解决方法进行整理。希望能给大家带去帮助
首先需要在js里面对数组进行转换为json格式
js代码如下:
代码如下:
/**
*js数组转json
*
*/
function arrayToJson(o) {
var r = [];
if (typeof o == "string") return "/"" + o.replace(/([/'/"//])/g, "//$1").replace(/(/n)/g, "//n").replace(/(/r)/g, "//r").replace(/(/t)/g, "//t") + "/"";
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push(i + ":" + arrayToJson(o[i]));
if (!!document.all && !/^/n?function/s*toString/(/)/s*/{/n?/s*/[native code/]/n?/s*/}/n?/s*$/.test(o.toString)) {
r.push("toString:" + o.toString.toString());
}
r = "{" + r.join() + "}";
} else {
for (var i = 0; i < o.length; i++) {
r.push(arrayToJson(o[i]));
}
r = "[" + r.join() + "]";
}
return r;
}
return o.toString();
}
然后是在java后台js该字符串后 对其进行json转换。
代码如下:
com.alibaba.fastjson.JSONArray mainArray=JSON.parseArray(info.getMainparame());
log.debug("数组大小:"+mainArray.size());
for(int i=0;i< mainArray.size();i++){
QybjProduceParam p=new QybjProduceParam();
com.alibaba.fastjson.JSONArray paramObject=(com.alibaba.fastjson.JSONArray)mainArray.get(i);
p.setParamename(paramObject.get(1).toString());
p.setParamevalue(paramObject.get(2).toString());
params.add(p);
}
info.setParams(params);
大家从java代码里面 不难看出,是经过2次转换。每次都是转为JSONArray对象。
如果是一维数组就只转换一次。
[3]javascript 循环调用示例介绍
function checksdzt(){
sdzt = $("#viewObj_zt_text").val();
//循环调用,如果已经获取到了结果,则退出循环
loopgetinfo = setInterval("checksdztsub()",50); //这里循环调用,间隔50毫秒
}
function checksdztsub(){
if ($("#viewObj_zt_text").val() !="" && $("#viewObj_zt_text").val() != sdzt)
{
if($("#viewObj_zt_text").val() == "锁定")
{
$("#sdyydes").html("<font color='red'>*</font> 锁定原因");
$("#viewObj_sdyy_text").attr("validate","{required:true}");
}
else if($("#viewObj_zt_text").val() == "正常")
{
$("#sdyydes").html(" 锁定原因");
$("#viewObj_sdyy_text").attr("validate","");
}
else
sdzt = $("#viewObj_zt_text").val();
// clearInterval(loopgetinfo); //终止循环
}
}
原生js获取select下拉框的selected的option项
一. 使用 原生js,获取select标签下属性有selected的option项。
-
先写一个select标签如下:
<select id="selectBox"> <option value="VALUE-aaa" selected> TEXT-aaaaa </option> <option value="VALUE-bbb"> TEXT-bbbbb </option> </select>
-
原生js获取select标签这个 对象 :
var selectTest = document.getElementById("selectBox");
- 然后找到 selected 的option标签的 索引值:
var selectIndex = selectTest.selectedIndex;
- 这样就可以通过索引来获取选中项的 选中值和文本值:
var selectValue = selectTest.options[selectIndex].value;
var selectText = selectTest.options[selectIndex].text;
完整示例测试demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select id="selectBox">
<option value="VALUE-aaa" selected>TEXT-aaaaa</option>
<option value="VALUE-bbb">TEXT-bbbbb</option>
</select>
<script>
var selectTest = document.getElementById("selectBox");
var selectIndex = selectTest.selectedIndex;
var selectValue = selectTest.options[selectIndex].value;
var selectText = selectTest.options[selectIndex].text;
var selectArr = [{
"selectTest": JSON.stringify(selectTest),
"selectIndex": selectIndex,
"selectValue": selectValue,
"selectText": selectText
}];
console.table(selectArr);
</script>
</body>
</html>
-
示例结果如图:
二. 当然这样写可能会比较麻烦,jquery为我们提供了更加方便的方法
- 主要是用到了jquery中的 选择器:
var selectedOption = $("#selectBox option: selected");
- 然后直接使用val() 和 text() 方法:
console.log(selectedOption.val(), selectedOption.text() );
- 注意使用jQuery的方法,记得 引入jquery库文件。
jQuery获取Select选择的Text和Value: 语法解释:
1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发
2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text
3. var checkValue=$("#select_id").val(); //获取Select选择的Value
4. var checkIndex=$("#select_id ").get(0).selectedIndex; //获取Select选择的索引值
5. var maxIndex=$("#select_id option:last").attr("index"); //获取Select最大的索引值
jQuery设置Select选择的 Text和Value:
语法解释:
1. $("#select_id ").get(0).selectedIndex=1; //设置Select索引值为1的项选中
2. $("#select_id ").val(4); // 设置Select的Value值为4的项选中
3. $("#select_id option[text='jQuery']").attr("selected", true); //设置Select的Text值为jQuery的项选中
jQuery添加/删除Select的Option项: 语法解释:
1. $("#select_id").append("<option value='Value'>Text</option>"); //为Select追加一个Option(下拉项)
2. $("#select_id").prepend("<option value='0'>请选择</option>"); //为Select插入一个Option(第一个位置)
3. $("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个)
4. $("#select_id option[index='0']").remove(); //删除Select中索引值为0的Option(第一个)
5. $("#select_id option[value='3']").remove(); //删除Select中Value='3'的Option
5. $("#select_id option[text='4']").remove(); //删除Select中Text='4'的Option
http://www.cnblogs.com/SAL2928/archive/2008/10/28/1321285.html jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 获 取一组radio被选中项的值
var item = $('input[name=items][checked]').val();
获 取select被选中项的文本
var item = $("select[name=items] option[selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[name=items]').get(1).checked = true;
获取值:
文本框,文本区域:$("#txt").attr("value");
多选框 checkbox:$("#checkbox_id").attr("value");
单选组radio: $("input[type=radio][checked]").val();
下拉框select: $('#sel').val();
控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
$("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组 radio: $("input[type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框 select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
---------------------------------------------------------------------------------------------------- //遍历option和添加、移除option
function changeShipMethod(shipping){
var len = $("select[name=ISHIPTYPE] option").length
if(shipping.value != "CA"){
$("select[name=ISHIPTYPE] option").each(function(){
if($(this).val() == 111){
$(this).remove();
}
});
}else{
$("<option value='111'>UPS Ground</option>").appendTo($("select[name=ISHIPTYPE]"));
}
}
//取得下拉選單的選取值
$(#testSelect option:selected').text();
或$("#testSelect").find('option:selected').text();
或$("#testSelect").val();
// 记 性不好的可以收藏下: 1,下拉框:
var cc1 = $(".formc select[name='country'] option[selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
var cc2 = $('.formc select[name="country"]').val(); //得到下拉菜单的选中项的值
var cc3 = $('.formc select[name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值
$("#select").empty();//清空下拉框 //$("#select").html('');
$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option
稍微解释一下: 1.select[name='country'] option[selected] 表示具有name 属性, 并 且该属性值为'country' 的select元素 里面的具有selected 属性的option 元素; 2,单选框: $("input[@type=radio][@checked]").val(); //得到单选框的 选中项的值(注意中间没有空格) $("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格) 3,复选框: $("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值 $("input[@type=checkbox][@checked]").each(function() { //由于复选框一般选中的是多个,所以可以循环输出 alert($(this).val()); }); $("#chk1").attr("checked",'');//不打勾 $("#chk2").attr("checked",true);// 打勾 if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾 当然jquery的选择器是强大的. 还有很多方法.
<script src="jquery-1.2.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#selectTest").change(function()
{
//alert("Hello");
//alert($("#selectTest").attr("name"));
//$("a").attr("href","xx.html");
//window.location.href="xx.html";
//alert($("#selectTest").val());
alert($("#selectTest option[@selected]").text());
$("#selectTest").attr("value", "2");
});
});
</script>
<a href="#">aaass</a>
<!--下拉框-->
<select id="selectTest" name="selectTest">
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
<option value="5">55</option>
<option value="6">66</option>
</select>
jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关获取一组radio被选中 项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选 中项的文本 var item = $("select[@name=items] option[@selected]").text(); select 下拉框的第二个元素为当前选中值 $('#select_id')[0].selectedIndex = 1; radio单选组的第二个 元素为当前选中值 $('input[@name=items]').get(1).checked = true; 获取值: 文本 框,文本区域:$("#txt").attr("value"); 多选框 checkbox:$("#checkbox_id").attr("value"); 单选组radio: $("input[@type=radio][@checked]").val(); 下拉框select: $('#sel').val(); 控 制表单元素: 文本框,文本区域:$("#txt").attr("value",'');//清空内容 $("#txt").attr("value",'11');// 填充内容 多选框checkbox: $("#chk1").attr("checked",'');//不打勾 $("#chk2").attr("checked",true);// 打勾 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾 单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项 下拉框 select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项 $("<optionvalue='1'& gt;1111</option><optionvalue='2'>2222</option& gt;").appendTo("#sel")//添加下拉框的option $("#sel").empty();// 清空下拉框 获取一组radio被选中项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 var item = $("select[@name=items] option[@selected]").text(); select下拉框的第二个元素为当 前选中值 $('#select_id')[0].selectedIndex = 1; radio单选组的第二个元素为当前选中值 $('input[@name=items]').get(1).checked = true; 获取值: 文本框,文本区域:$("#txt").attr("value"); 多选框 checkbox:$("#checkbox_id").attr("value"); 单选组radio: $("input[@type=radio][@checked]").val(); 下拉框select: $('#sel').val(); 控 制表单元素: 文本框,文本区域:$("#txt").attr("value",'');//清空内容 $("#txt").attr("value",'11');// 填充内容 多选框checkbox: $("#chk1").attr("checked",'');//不打勾 $("#chk2").attr("checked",true);// 打勾 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾 单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项 下拉框 select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项 $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option $("#sel").empty();// 清空下拉框