首先,我是新來的HTML和JavaScript,所以請去容易:)如何獲得選擇文本,表格單元格值當按鈕被點擊
我有一個表在HTML中,其中每行都有一個下拉(具有相同的選項)和一個按鈕。點擊按鈕後,我想將下拉菜單中所選項目的文本以及另一個字符串傳遞給控制器。
到目前爲止,我有
<table>
<tr>
<td>First name</td>
<td>Surname</td>
</tr>
@foreach (var row in Model.Rows)
{
<tr>
<td>@row.FirstName</td>
<td>
<select id="surnames">
@foreach (var name in Model.Surnames)
{
<option [email protected]()>@name.ToString()</option>
}
</select>
</td>
<td><input type="button" id="myButton" value="Go" onclick="location.href='@Url.Action("MyAction", "MyController", new { @firstName = row.FirstName, @newSurname = ??? })'" /></td>
</tr>
}
</table>
<script>
function getSelectedVersion() {
var version = document.getElementById("surnames").text;
}
</script>
很顯然,這是我的代碼下調和修改後的版本。在實踐中,我在模型的每一行都有更多的屬性。
據我瞭解,我目前有一個ID問題,對於所有行,我有相同的ID爲選擇。在爲每一行添加一個腳本的時候,我想不出一種方法,它會工作(我認爲),但是會變得不那麼優雅(表中每一行的foreach,然後在表標籤外部分配一個腳本到每一行的下拉列表)
最重要的是,我錯過了調用我的腳本來獲取文本,然後將它傳遞到控制器上按鈕單擊的位。
理想情況下,我想將整個行對象傳遞給控制器,但我現在有一個解決方法,只需要字符串firstName。
對於表中的每一行,模型中只有一個Names集合(與模型中每個Row中的一個相對),因爲每個表的選項始終是相同的。
優秀的工作,謝謝你! (我確實沒有工作過一段時間,直到我意識到我的控制器和操作錯了方向......哦!)你已經很好地繞過了我將要發現的ID問題:) –
注意到並做了 :) –