是否可以在選擇列表中禁用/不可見項目? 我想要完成的是,取決於一些複選框,如果它們被選中,這些字段應該出現在下拉列表中。但是,我確實有永久應該在下拉菜單中的限定字段,它應該都是按順序排列的。可能禁用/使項目在選擇列表中不可見?
複選框:
<table class="Fields"><tr>
<td><%=Html.CheckBox("Field1", Model.DisplayField1, new { value = "Field1" })%> Field 1</td>
<td><%=Html.CheckBox("Field2", Model.DisplayField2, new { value = "Field2" })%> Field 2</td>
<td><%=Html.CheckBox("Field3", Model.DisplayField3, new { value = "Field3" })%> Field 3</td>
</tr><tr>
<td><%=Html.CheckBox("Field4", Model.DisplayField4, new { value = "Field4" })%> Field 4</td>
<td><%=Html.CheckBox("Field5", Model.DisplayField5, new { value = "Field5" })%> Field 5</td>
<td><%=Html.CheckBox("Field6", Model.DisplayField6, new { value = "Field6" })%> Field 6</td>
</tr></table>
下拉:
<table cellpadding="0" cellspacing="0">
<tr>
<td>Sort 1</td>
<td><%= Html.DropDownList("drpSortColumn1", (SelectList)ViewData["SortColumns"])%></td>
</tr>
</table>
下拉包含了所有的checkboxfields +一些額外的字段,總是應該在那裏。因此,我可以動態刪除所有並添加取決於如果它被檢查或不。 我需要在UI中執行此操作。莫名其妙地理想jquery。 那麼對此有什麼好處呢?有禁用選項嗎?否則會是一種選擇?
謝謝!
// MRW
編輯: 我試着這樣做:
$('#drpSortColumn1 option[value=' + val + ']').hide();
,但似乎並沒有工作了。我不知道是不是可以隱藏一個選項,或者如果我做錯了。
不是真的,因爲該示例似乎與預定義的列表一起使用,應該啓用和禁用。我可以有多達20個可選字段,並且都可以打開或關閉(+我的manditory字段)。那意味着我需要用每一個可能的解決方案來創建詞典?! – MrW 2010-06-28 08:58:20
這就是我正在考慮的,因爲無論如何,如果你想保持正確的順序,你必須做這樣的事情。隱藏()確實不適用於選項。我不確定是否有「輕量級」解決方案。但是如果有人有一個更好的主意,(禁用屬性不是完全跨瀏覽器,但如果你不需要IE6的支持,它可以做到這一點,因爲該選項將不可選)。 – 2010-06-28 09:06:18
那麼,目前在總共25個領域中進行了簡要介紹,而且很可能在未來更多,這將會或多或少地不可能保持這種方式。恐怕這不是一個選擇。也聽起來像這樣會很慢,檢查我現在有什麼組合,然後加載正確的值。 – MrW 2010-06-28 10:19:32