选择具有以某个字符串开头的 ID 选择器的下拉列表
selecting the dropdowns having id selector starting with some string
我有五个下拉列表,其中id元素名为box_g1,box_g2,box_g3,box_g4和box_g5。我想启用所有组合框中的所有禁用值,其中 id 选择器以 box_g 开头。
.HTML:
<select name="n1" id="box_g1">
<option value="Default">Default</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select name="n2" id="box_g2" disabled="disabled">
<option value="Disabled">Disabled</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select name="n3" id="box_g3" disabled="disabled">
<option value="Disabled">Disabled</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select name="n4" id="box_g4" disabled="disabled">
<option value="Disabled">Disabled</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select name="n5" id="box_g5" disabled="disabled">
<option value="Disabled">Disabled</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
JQuery :
$(document).ready(function(){
$("select").change(function(e){
var id = $(this).attr("id");
var value = this.value;
$("select option").each(function(){
var idParent = $(this).parent().attr("id");
if(id != idParent){
if(this.value == value){
this.disabled = true;
}
else if($("#box_g1 option:selected").val()!="Default"){
$("#box_g2").prop("disabled", false);
$("#box_g3").prop("disabled", false);
$("#box_g4").prop("disabled", false);
$("#box_g5").prop("disabled", false);
}else{
/*$("#box_g1").each(function(){
$("#box_g1 option").removeAttr("disabled",false);
});
$("#box_g2").prop("disabled",true).val('Disabled');
$("#box_g3").prop("disabled",true).val('Disabled');
$("#box_g4").prop("disabled",true).val('Disabled');
$("#box_g5").prop("disabled",true).val('Disabled');*/
defaultValues();
}
}
});
});
});
function defaultValues() {
if ($("#box_g1").val() == "Default") {
$("select[id^='box_g']").removeAttr("disabled",false); // added this line to enable all the values in all boxes but they are still disabled.
$("#box_g2").attr("disabled", true).val('Disabled');
$("#box_g3").attr("disabled", true).val('Disabled');
$("#box_g4").attr("disabled", true).val('Disabled');
$("#box_g5").attr("disabled", true).val('Disabled');
} else {
$("#box_g2").attr("disabled", false);
$("#box_g3").attr("disabled", false);
$("#box_g4").attr("disabled", false);
$("#box_g5").attr("disabled", false);
}
}
任何人都可以帮忙吗?检查函数 defaultValues()。我已经提到了评论。
您可以使用以下功能启用所有选项:
$('select[id^="box_g"] option').prop("disabled",false);
但由于代码中的以下行,选择仍将被禁用
如果你想启用所有选择框,谁是 od 开始box_g"你可以使用它
$("select[id^='box_g']").find("option").prop("disabled",false);
相关文章:
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 在jquery中选择id以字符串开头的元素
- 如何使用“属性以选择器开头”中的 ID 变量来选择 jQuery 中的元素
- 如果 ID 以前缀开头,则 JQuery 替换 html 元素内容
- JQuery:查找以任何一个指定字符串开头的所有 ID
- 如何在 JavaScript 中对以 # 开头的 ID 创建 OnClick 事件
- 选择具有以某个字符串开头的 ID 选择器的下拉列表
- 所有id以自定义文本开头的按钮上的JQuery单击事件
- 检索列表`<li>`具有Jquery Selector:ID的标记以某种格式开头
- 输入id以一个可变字符串开头
- 如何在“;parentNode”;其id以相同字符串开头
- 在香草JS中为所有人重写href 以特定ID开头的对象
- 对于以整数开头的id,无法识别的表达式出现错误
- 如何访问所有<灯光>id's以相同名字开头的人
- 如何使用JQuery来处理链接上的点击,该链接的id以特定字符串开头
- 如果Dgrid的id以数字开头,则Dgrid列调整大小,隐藏,重新排序属性会产生错误
- 检查单击的按钮是否具有在jQuery中以特定字符串开头的ID
- id的jQuery选择器以特定文本开头
- 如何获取以单词开头的跨度 ID