Jquery:如何添加属性disabled=";残疾人士;选择表格的选项?
我有一个表单Jquery:如何添加属性disabled=";残疾人士;选择表格的选项?,jquery,Jquery,我有一个表单元素。此选择具有我需要使用jquery浏览所有并添加属性disabled=“disabled”,如果文本(为选项显示)不是以“-”开头 看看这幅画,看看我的意思 编辑0索引实际上更好,但e.disabled更符合浏览器要求;&查找速度更快 所以 只需检查文本零索引处的字符是否为- $('#selID option').each(function(){ if($(this).text()[0] != '-') this.disabled=true; })
元素。此选择具有
我需要使用jquery浏览所有
并添加属性disabled=“disabled”
,如果文本(为选项显示)不是以“-”开头
看看这幅画,看看我的意思
编辑0索引实际上更好,但e.disabled更符合浏览器要求;&查找速度更快
所以
只需检查文本零索引处的字符是否为
-
$('#selID option').each(function(){
if($(this).text()[0] != '-')
this.disabled=true;
});
是的,但我在你的评论之前看到了:)不,否决票是因为完全不必要地使用了
replace
。在编辑时,您至少已经处理了这个问题。(即使如此,这也不是“最优化的代码段”。$(“选择”).find(“选项”)。
是最优化的(除非某些父项被缓存)<代码>e.disabled=true代码>优化程度最高;你在哪里可以使它更快?注意:同意使用replaceFWIW,注意IE7和更早版本不支持字符串上的[]
。但是,无论如何,我们真的不应该支持IE7和更早版本。:-)我只是需要一个代码开始,有几种方法可以做到这一点。否决票…为什么???
$("select").find("option").each(function(i,e) {
var t=$(e).text()['0'];
if (t!=='-') e.disabled=true;
});
$("YourSELECT options").each(function(){
if(!$(this).html().startsWith("-"))
{
$(this).attr("disabled","true");
}
});
String.prototype.startsWith = function(str)
{return (this.match("^"+str)==str)}
$('#selID option').each(function(){
if($(this).text()[0] != '-')
this.disabled=true;
});