误区:
一直以为jquery获取select中option被选中的文本值,是这样写的:
$(“#s”).text(); //获取所有option的文本值
实际上应该这样:
$(“#s option:selected”).text(); //获取选中的option的文本值
获取select中option的被选中的value值,
$(“#s”).val();
$(“#s option:selected”).val();
js获取select选中的值:
var sel=document.getElementById(“select1”);
var index = sel.selectedIndex; // 选中索引
albumid= sel.options[index].value;//要的值
jquery获取select选择的文本与值
获取select :
获取select 选中的 text :
$("#ddlregtype").find("option:selected").text();
获取select选中的 value:
$("#ddlregtype ").val();
获取select选中的索引:
$("#ddlregtype ").get(0).selectedindex;
设置select:
设置select 选中的索引:
$("#ddlregtype ").get(0).selectedindex=index;//index为索引值
设置select 选中的value:
$("#ddlregtype ").attr("value","normal“);
$("#ddlregtype ").val("normal");
$("#ddlregtype ").get(0).value = value;
设置select 选中的text:
var count=$("#ddlregtype option").length;
for(var i=0;i<count;i++)
{ if($("#ddlregtype ").get(0).options[i].text == text)
{
$("#ddlregtype ").get(0).options[i].selected = true;
break;
}
}
$("#select_id option[text='jquery']").attr("selected", true);
设置select option项:
$("#select_id").append("<option value='value'>text</option>"); //添加一项option
$("#select_id").prepend("<option value='0'>请选择</option>"); //在前面插入一项option
$("#select_id option:last").remove(); //删除索引值最大的option
$("#select_id option[index='0']").remove();//删除索引值为0的option
$("#select_id option[value='3']").remove(); //删除值为3的option
$("#select_id option[text='4']").remove(); //删除text值为4的option
清空 select:
$("#ddlregtype ").empty();
工作需要,要获得两个表单中的值。如图:
如何获得从左边选择框添加到右边选择框中的值?我想了想用网页特效可以获得,这里用了比较流行的jquery。
js代码如下:
//获取所有属性值 var item = $("#select1").val();
$(function(){
$('#select1').each( //获得select1的所有值
function(){
$('button').click(function(){
alert($('#select2').val()); //获得select2中的select1值
});
});
})
值得注意的是,不能直接写成
$(function(){
$('#select2').each( //获得select1的所有值,因为前面讲选项从左边添加到右边,jquery其实并没有真正将值从左边传到右边。
function(){
$('button').click(function(){
alert($(this).val()); //获得select2中的select1值
});
});
})
html:
<div class="centent">
<select multiple="multiple" id="select1" name="dd" style="width:100px;height:160px;">
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
<option value="4">选项4</option>
<option value="5">选项5</option>
<option value="6">选项6</option>
<option value="7">选项7</option>
</select>
<div>
<span id="add" >选中添加到右边>></span>
<span id="add_all" >全部添加到右边>></span>
</div>
</div>
<div class="centent">
<select multiple="multiple" id="select2" name="sel" style="width: 100px;height:160px;">
</select>
<div>
<span id="remove"><<选中删除到左边</span>
<span id="remove_all"><<全部删除到左边</span>
</div>
</div>
使用JQuery,Ajax调用动态填充Select的option选项
//绑定ClassLevel1单击事件
$("#ClassLevel1").change(function () {
var id = $("#ClassLevel1").val();
var level2 = $("#ClassLevel2");
level2.empty();
$("#ClassLevel3").hide();
$.ajax({
url: "./askCommon.ashx?action=getclasslevel&pid=" + id,
data: { "type": "ajax" },
datatype: "json",
type: "get",
success: function (data) {
var json = eval_r(data);
for (var ind in json) {
level2.append($("<option value='" + json[ind].id + "'>" + json[ind].typename + "</option>"));
}
}
});
})
使用实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>下拉框,多选框选择</title>
<script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.js"></script>
</head>
<body>
<input type="button" value="使单选下拉框的'2号'被选中"/><br>
<input type="button" value="使多选下拉框选中的'2号'和'5号'被选中"/><br>
<input type="button" value="使复选框的'复选2'和'复选4'被选中"/><br>
<input type="button" value="使单选框的'单选2'被选中"/><br>
<input type="button" value="打印已经被选中的值"><br>
<br/>
<select id="one">
<option>1号</option>
<option>2号</option>
<option>3号</option>
</select>
<select id="many" multiple="multiple" style="height:120px;">
<option selected="selected">1号</option>
<option>2号</option>
<option>3号</option>
<option>4号</option>
<option>5号</option>
<option selected="selected">6号</option>
</select>
<br/>
<br/>
<input type="checkbox" name="c" value="check1"/> 复选1
<input type="checkbox" name="c" value="check2"/> 复选2
<input type="checkbox" name="c" value="check3"/> 复选3
<input type="checkbox" name="c" value="check4"/> 复选4
<br/>
<input type="radio" name="r" value="radio1"/> 单选1
<input type="radio" name="r" value="radio2"/> 单选2
<input type="radio" name="r" value="radio3"/> 单选3
</body>
<script language="JavaScript">
$("input[type=button]:eq(0)").click(function () {
//方法一
//$("#one option:eq(1)").prop("selected", true);
//方法二
$("#one").val("2号");
})
$("input[type=button]:eq(1)").click(function () {
//方法一
/* $("#many option").each(function (index, domEle) {
$(domEle).prop("selected", false);
if (index == 1 | index == 4) {
$(domEle).prop("selected", true);
}
}
);*/
//方法二
$("#many").val(["2号", "5号"]);
})
$("input[type=button]:eq(2)").click(function () {
//方法一
/* $("input[type=checkbox]").each(function (index, domEle) {
if (index == 1 | index == 3) {
$(domEle).prop("selected", true);
}
})*/
//方法二
$("input[type=checkbox]").val(["check2", "check4"]);
});
$("input[type=button]:eq(3)").click(function () {
//方法一
/* $("input[type=radio]").each(function (index, domEle) {
if (index == 1) {
$(domEle).prop("checked", true);
}
});*/
//方法二
//$("input[type=radio]:eq(1)").prop("checked", true);
//方法三
$("input[type=radio]").val(["radio2"]);
});
//打印已经被选中的值
$("input[type=button]:eq(4)").click(function () {
var valArr = new Array;
$("select option:selected").each(function (index, domEle) {
valArr[index] = $(domEle).text();
});
var valarr2 = new Array;
//$("input[type=checkbox][type=radio] :checked")
$("input:checked").each(function (index, domEle) {
valarr2[index] = $(domEle).val();
});
var vals = valArr.join('\n');//换行显示
var vals2 = valarr2.join('\n')//
alert("select选中的值为:\n" + vals + "\n checkbox和radion选中的值为\n " + vals2);
});
</script>
</html>
达维营-前端网