今天因为需求 需要改动一些页面显示,其中之一是修改 积分政策发布 政策来源的 下拉框显示。
目前需求是:公司登录的话 政策来源下拉框只显示 公司和厂商
4s店登录的话 政策来源下拉框只显示 店面的(设置成只读)
这里牵扯到 jquery 对select处理的方法。
//根据帐号的部门级别设置来源输入状态
function setSource(){
if(accountDto.orgLevel!=1){ //显示的是4s店登录
$('#source').attr("disabled",true);
$('#source').val(2);
}
else{ //下面显示的是 公司登录
$("#source option[value='2']").remove();
//$("#source option[text='店面']").remove();
}
}
$('#source').attr("disabled",true);
$('#source').val(2);
上面这两句意思 是先设置成不可编辑或触发状态,第二句将下拉框的value值显示设置成2这样只显示店面
$("#source option[value='2']").remove();
作用是将 下拉框value值为2 清除掉 只保存了公司 和厂商的显示
这个方法在ie6,ff,google的浏览器测试ok
但是 $("#source option[text='店面']").remove(); 在ie6 ok,但在ff,google浏览器测试不通过(目前没有研究过why)
下面是一些jquery的select常用方法:
jquery 获取和设置 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.text == text)
{
$("#ddlRegType ").get(0).options.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
ok没问题
在
ie6
ff
google
$("#select_id option[text='4']").remove(); //删除TEXT值为4的Option
ie6
ok
ff
google
有问题
清空 Select:
$("#ddlRegType ").empty();