2011-09-13 86 views
1

我有與包含從外部源填充類別的列表的選擇元件的一種形式。當我提交表單時,我希望能夠爲所選選項(category_id)的值發佈參數,這可以按預期工作。不過,我也想傳遞第二個參數(category_name),它是當前選擇選項的文本。下面發送另一個選擇值作爲參數與形式交

爲了清楚起見,選擇元素的一個非常簡單的表示:

<select name="category_id" id="category_id"> 
<option value='1'>All</option> 
    <option value='2'>Category 1</option> 
    <option value='3'>Category 2</option> 
</select> 

我想知道這樣做的最好的辦法是。我需要使用JavaScript還是有一些通過HTML做到這一點的方式?對於Im使用Rails構建應用程序的價值,如果有一個聰明的方法來使用這個框架來做到這一點,這也將是非常有用的知道。

在此先感謝您的幫助。

戴夫

+0

你必須使用Javascript來提取類別名稱。 – user278064

回答

3

您既可以更改值,使之包含這兩個值則只是分裂他們的服務器上:

<select name="category_id" id="category_id"> 
    <option value='1|All'>All</option> 
    <option value='2|Category 1'>Category 1</option> 
    <option value='3|Category 2'>Category 2</option> 
</select> 

或者使用一些javascript和更新一個隱藏字段:

HTML

<select name="category_id" id="category_id"> 
    <option value='1'>All</option> 
    <option value='2'>Category 1</option> 
    <option value='3'>Category 2</option> 
</select> 
<input type="hidden" id="category_name" name="category_name" /> 

JS

function updateNameValue() { 
    $('#category_name').val($('#category_id option:selected').text()); 
} 

$('#category_id').change(updateNameValue); 

updateNameValue(); // Call function here to make sure initial value is set 

http://jsfiddle.net/6runZ/

相關問題