這是一個UI問題,處理HTML和JavaScript,來看看如何得到我想要的功能,而無需混淆用戶UI問題:設計一個組合框是一個元素高
下面我有一個表它有一個選擇框作爲我表中的第一個單元格。
此應用沒有提交按鈕。您更改選擇框,更新數據庫,更改數據庫更新的輸入框中的內容。
一切都基於JavaScript中的onchange
事件。
我的問題是,用戶需要能夠將項目添加到選擇框,因爲它不是一個獨佔列表。但是,我想保持UI一致,所以我想讓用戶只需鍵入選擇框,因此需要組合框。
但是,我不希望兩個元素堆疊的組合框,因爲這會使每個單元格比它需要更高。
所以,另一種選擇是使用onkeydown事件,如果他們使用ASCII 32-97左右的字符(只有英文單詞),那麼它將進入一個輸入框,所以,當他們點擊時,選擇框中有一個新項目。
但是,爲了做到這一點,我需要隱藏/取消隱藏共享相同位置的兩個元素,一個輸入框和一個選擇框,這兩個元素都位於表格的第一列。元素的移動會令人困惑。
- >問題1:那麼,我怎樣才能減少用戶的注意力呢? < -
- >問題2:是否有另一種方法可以有一個可編輯的選擇框,可能不會在HTML中分散注意力? < -
這是一個UI問題,下表是因爲它似乎是很重要的一些人
表是這裏純粹是用於說明目的。
<table border="1" bgcolor="#ffcc99" width="90%">
<thead>
</thead>
<tbody>
<tr>
</tr>
<tr>
</tr>
<tr>
<td>
<select name="SourceFunds*SourceID*SourceID^SourceNumber*1113^1">
<option value="1119">Capital Maintenance</option>
<option value="1063">Waterworks Fund</option>
<option value="1114">Waterworks Fund/Other Sources</option>
</select>
</td>
<td>
<input type="text" value="79" name="SourceFunds*SourceOfFundsYr1*SourceID^SourceNumber*1113^1"/>
</td>
<td>
<input type="text" value="0" name="SourceFunds*SourceOfFundsYr2*SourceID^SourceNumber*1113^1"/>
</td>
<td>
<input type="text" value="0" name="SourceFunds*SourceOfFundsYr3SourceID^SourceNumber*1113^1"/>
</td>
</tr>
</tbody>
</table>
回覆:「鍵入功能」功能,你的意思是像這些組合框? http://demos.telerik.com/aspnet-ajax/combobox/examples/default/defaultcs.aspx? – 2009-09-14 21:01:35
我喜歡這裏完成的方法,它看起來非常簡單直觀。 – 2009-09-14 23:58:01