我有一个选择选项。我想禁用基于ID的选项。一些选项具有相同的ID。当我禁用这些选项时,它仅禁用一个id(数据库中的第一个选项)。
如何让jquery禁用id = 0的所有选项
File.php
{displayRole: Array(4)}
displayRole: Array(4)
0: {id: 1, name: "TEST1", title: "TEST1", priorityError: 4, priorityOffline: 3, …}
1: {id: 2, name: "TEST2", title: "TEST2", priorityError: 4, priorityOffline: 4, …}
2: {id: 3, name: "TEST3", title: "TEST3", priorityError: 4, priorityOffline: 4, …}
3: {id: 4, name: "TEST4", title: "TEST4", priorityError: 3, priorityOffline: 1, …}
length: 4
__proto__: Array(0)
__proto__: Object
答案 0 :(得分:1)
将相同的ID应用于多个元素不是一个好习惯。我建议您在这种情况下使用class而不是id。然后禁用所有操作:
$(".0").attr("disabled", "disabled");
答案 1 :(得分:0)
尝试一下:
html:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/home_announcements"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="350dp"
android:layout_below="@+id/home_btn"
android:overScrollMode="never"
tools:listitem="@layout/item_home_announcements"/>
jquery:
<select id="select_id" name="select_id">
<option id="sel1">01</option>
<option id="sel2">02</option>
<option id="sel3">03</option>
<option id="sel1">04</option>
</select>
jsfiddle: https://jsfiddle.net/bmr1zsq9/
我认为拥有具有相同值的多个ID并不是一个好方法。 您应该使用名称或值或类值来具有有效的html
希望获得帮助
答案 2 :(得分:0)
您可以使用类属性或自定义属性(如数据),也可以使用jQuery选择器进行调用。
<select id="select_id" name="select_id">
<option data-id="<?php echo $item->part; ?>"><?php echo $item->part; ?></option>
</select>
<script>
$('select option[data-id="0"]').attr('disabled', 'disabled');
</script>
我认为您错过了增值属性
答案 3 :(得分:0)
您遇到的问题是因为您使用的是ID,DOM希望ID唯一,因此将不会递归操作。请更新您的代码以使用html类而非ID。
IE。
<select id="select_id" name="select_id">
<option value="val1" class="sel1">01</option>
<option value="val2" class="sel2">02</option>
<option value="val3" class="sel3">03</option>
<option value="val4" class="sel1">04</option>
</select>
此外,请确保为您的选项设置一个值,以实现最佳实践。