2011-08-12 19 views
0

我想在我的事件偵聽器中查詢某個數據(我在運行時設置)的目標。我在運行時創建中選擇元素,像這樣:在HTML/javascript中將數據附加到事件偵聽器中的select對象,查詢

 <select id = "someid" > 
      <% list.each { |x| %> 

       <option> <%= x %></option> 

      <% } %> 
     </select> 

在我的事件監聽器,我想不僅得到「event.target.id」,也是「event.target.some_data_field_that_was_set_at_runtime」

我會在CSS中創建一個擴展select並添加我自己的數據字段的類嗎?對不起,我不太瞭解HTML/CSS,如果可以的話,你可以給出一個如何編寫這個類並使用它的例子嗎?謝謝!

+0

看起來像ASP。是嗎?當僅使用瀏覽器看到的HTML/CSS(最終源代碼)時,它並不是非常有用。 –

回答

0

「運行時」我假設你的意思是標準:當你的(看起來像ASP)代碼在服務器上運行。在瀏覽器中的頁面加載是一個不同的答案。

此外,option值是不夠的?

無論如何,只要讓您的代碼爲select元素設置rel屬性即可。或使用HTML 5 data- Attributes

例如:

<select name="cars" rel="European only" -data-linked-input-id="carsInput"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="fiat">Fiat</option> 
</select> 
+0

很酷,謝謝,我得到了html 5數據屬性的工作。我實際上想嵌入2個數據(我應該在前面說過),而且這種方法運行良好。使用html5有什麼缺點,比如兼容性問題?對不起,我只是在瞭解所有這些東西,非常感謝。 – dt1000

+0

我想不出任何缺點使用這樣的數據屬性。如果你不使用HTML5'DOCTYPE',那麼你會得到一些無害的驗證警告(如果你甚至驗證(你應該))。我沒有聽說任何瀏覽器在使用HTML5'DOCTYPE'時會出現錯誤,但如果IE 6做到了,我不會感到驚訝。 –

+0

非常好,謝謝。 – dt1000

相關問題