近日在使用jquery操作select下拉列表框时遇到了一些需要注意的地方,功能是通过点击事件动态复制一个select到table的td中,并利用td包含的文本内容找到对应的select选中项,代码如下:

HTML:    
<!--下拉框-->    
<select id="stsoft" name="stsoft">    
<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>    
<table id="datatable" border="0" cellpadding="0" cellspacing="0">    
      <thead>    
<tr align="left">    
      <th>    
行号</th>    
<th>    
软件类型</th>    
<th>    
操作</th>    
</tr>    
</thead>    
<tr id="template">    
<td class="RowId">    
</td>    
<td class="SoftType">    
</td>    
<td class="update">    
</td>    
</tr>    
</table>    
js:    
$(".update").click(function(){    
var soft = $(".SoftType").text();    
$(".SoftType").html($("#stsoft").clone());    
      for(var i=0; i<$(".SoftType select option").length; i++){    
      if($(".SoftType select")[0].options(i).text== soft){    
$(".SoftType select")[0].selectedIndex = i;    
}    
}    
      var  rowId = $(".RowId").text();    
var content='\    
<a href="javascript.:void(0);" nclick="Update('+ rowId +');">更新</a>  \    
<a href="javascript.:void(0);" nclick="Cencel('+ rowId +');">取消</a>\    
';    
$(".update").html(content);    
});    
其他有关select的取值或赋值方式:    
获取select被选中项的文本    
var item = $("select[@name= stsoft] option[@selected]").text();    
select下拉框的第二个元素为当前选中值    
$('#stsoft')[0].selectedIndex = 1;    
获取value值    
$('#stsoft').val();    
设置value=1的项目为当前选中项    
$("#stsoft").attr("value",“1”);    
$('#stsoft').val(“1”);    
--------------------------------------------------------------------    
//获取第一个option的值    
$('#test option:first').val();    
//最后一个option的值    
$('#test option:last').val();    
//获取第二个option的值    
$('#test option:eq(1)').val();    
//获取选中的值    
$('#test').val();    
$('#test option:selected').val();    
//设置值为2的option为选中状态    
$('#test').attr('value','2');    
//设置第一个option为选中    
$('#test option:last').attr('selected','selected');    
$("#test").attr('value' , $('#test option:last').val());    
$("#test").attr('value' , $('#test option').eq($('#test option').length - 1).val());    
//获取select的长度    
$('#test option').length;    
//添加一个option    
$("#test").append("<option value='9'>ff</option>");    
$("<option value='9'>ff</option>").appendTo("#test");    
//添除选中项    
$('#test option:selected').remove();    
//指定项选中    
$('#test option:first').remove();    
//指定值被删除    
$('#test option').each(function(){    
if( $(this).val() == '5'){    
$(this).remove();    
}    
});    
$('#test option[value=5]').remove();    
//获取第一个Group的标签    
$('#test optgroup:eq(0)').attr('label');    
//获取第二group下面第一个option的值    
$('#test optgroup:eq(1)ption:eq(0)').val();    
获取select中选择的text与value相关的值    
获取select选择的Text : var checkText=$("#slc1").find("option:selected").text();    
获取select选择的value:var checkValue=$("#slc1").val();    
获取select选择的索引值: var checkIndex=$("#slc1 ").get(0).selectedIndex;    
获取select最大的索引值: var maxIndex=$("#slc1 option:last").attr("index");    
设置select选择的Text和Value    
设置select索引值为1的项选中:$("#slc1 ").get(0).selectedIndex=1;    
设置select的value值为4的项选中: $("#slc1 ").val(4);    
设置select的Text值为JQuery的选中:    
$("#slc1 option[text='jQuery']").attr("selected", true);    
PS:特别要注意一下第三项的使用哦。看看JQuery的选择器功能是如此地强大呀!    
添加删除option项    
为select追加一个Option(下拉项)    
$("#slc2").append("<option value='"+i+"'>"+i+"</option>");    
为select插入一个option(第一个位置)    
$("#slc2").prepend("<option value='0'>请选择</option>");    
PS: prepend 这是向所有匹配元素内部的开始处插入内容的最佳方式。    
删除select中索引值最大option(最后一个)    
$("#slc2 option:last").remove();    
删除select中索引值为0的option(第一个)    
$("#slc2 option[index='0']").remove();    
删除select中value='3'的option    
$("#slc2 option[value='3']").remove();    
删除select中text='4'的option    
$("#slc2 option[text='3']").remove();