在选择中禁用选项

时间:2020-04-16 20:14:50

标签: php jquery

我有一个选择选项。我想禁用基于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

4 个答案:

答案 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>

此外,请确保为您的选项设置一个值,以实现最佳实践。