误区:
一直以为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>