我有這種視圖,其中2個單選按鈕強類型爲模型,並且希望根據這些單選按鈕的狀態啓用/禁用文本框字段。在視圖中使用javascript爲列表中的每個項目啓用單選按鈕狀態的文本框
這裏是視圖和腳本我一直在努力,現在:
@model IList<MyApp.Models.ObjInfo>
@{
ViewBag.Title = "SendItems";
}
<h2>Ebay Items</h2>
<script src="/Scripts/jquery-1.7.1.min.js"
type="text/javascript"></script>
<script type="text/javascript">
function dostate1() {
$("#textfield1").attr("disabled", "disabled");
$("#textfield2").removeAttr("disabled");
$("#textfield3").removeAttr("disabled");
}
function dostate2() {
$("#textfield1").removeAttr("disabled");
$("#textfield2").attr("disabled", "disabled");
$("#textfield3").attr("disabled", "disabled");
}
$(document).ready(function()
{
alert("The document is ready");
if ($("#state1").is(":checked")) {
dostate1();
} else {
dostate2();
}
$("#state1").click(function(){
alert("Auction radio button has been clicked");
dostate1();
});
$("#state2").click(function() {
alert("Buy It Now radio button has been clicked");
dostate2();
});
});
</script>
<p>
@using (Html.BeginForm("ManageItems", "Item Inventory"))
{
(...)
@for (int i = 0; i < Model.Count; i++)
{
<p>
<tr>
<td>@Html.DisplayFor(x => x[i].m_OtrObj.m_ObjName)</td>
<td>@Html.RadioButtonFor(x => x[i].m_State, "State 1", new {id = "state1", style ="width: 50px"})</td>
<td>@Html.RadioButtonFor(x => x[i].m_State, "State 2", new {id = "state2", style ="width: 50px"})</td>
<td>
@Html.TextBoxFor(x => x[i].m_Field1, new{id = "textField1", style = "width:200px"})
</td>
<td>
@Html.TextBoxFor(x => x[i].m_Field2, new {id = "textField2", style = "width:200px"})
</td>
<td>
@Html.TextBoxFor(x => x[i].m_Field3, new {id ="textField3", style = "width:200px" })
</td>
</tr>
</p>
}
</table>
<input type="submit" value="Do Something"/>
}
</p>
現在我有2個主要問題:
- 點擊每個單選實際上禁用場I希望有殘疾,但不要激活其他領域;
- 該腳本實際上只在單擊按鈕時運行,但應該在啓動時運行,以避免字段1處於活動狀態,因爲默認狀態下啓用了「狀態1」單選按鈕。
我是真的是作爲JavaScript的新手,所以任何人都可以幫我嗎?謝謝!!
編輯**
我修改劇本給你看的演變至今,感謝大家誰幫助了,劇本的作品,但僅限於在該列表中的第一項。考慮到它是一個對象列表(請參閱@model),如何單獨影響列表中的每個項目?
「在列表中的每一個項目。」你的名單是什麼樣的? – Raad 2013-03-11 15:38:57
就像@for循環表示的那樣,它是來自我的視圖模型的項目列表。 – hsim 2013-03-11 15:40:36
我想用這個腳本來影響列表中的每個項目,但只有第一個項目會受到影響... – hsim 2013-03-11 15:49:33