[英]Incrementing a Razor Variable in JavaScript isn't Working
我嘗試做一個分配頁面,如果您想添加其他人,則必須單擊“再添加一個”按鈕。 我有一個count變量,第一次單擊按鈕並調用該函數時,一切正常,但是第二次單擊按鈕時,我意識到以前的count增量沒有得到反映。 我應該如何使增量永久化或使用其他可實現此目標的解決方案。
@{
int count = 1;
}
<script>
function AddNewDoc(ElementId) {
//This Increment is not reflected when the function is called again
@{
count++;
}
document.getElementById(ElementId).innerHTML = "<td>A</td>" + "<td>B</td>" + " <td>C</td>" + "<td><input type=\"button\" value=\"Add One More Doctor\" onclick=\"AddNewDoc(@count)\" /></td></tr>" + "<tr id=\"@count\">";
}
</script>
@Html.ActionLink("GO BACK TO OPD POSTING", "UnitAndMonth", "OPD")
<br />
<br />
<h2>@ViewBag.msg</h2>
@using (Html.BeginForm("HandleForm", "OPD", FormMethod.Post))
{ <table>
<tr>
<td>
@Html.TextBoxFor(x => x[count].dr_name, new { @class = "input1", @id = "tags" })
</td>
<td>
@Html.TextBoxFor(x => x[count].from_date, new { @class = "input1", @id = "datepicker" + count, @readonly = "readonly" })
</td>
<td>
@Html.TextBoxFor(x => x[count].to_date, new { @class = "input1", @id = "datepicker" + count + count, @readonly = "readonly" })
</td>
<td>
<input type="button" value="Add One More Doctor" onclick="AddNewDoc(@count)" />
</td>
</tr>
<tr id="@count"></tr>
</table>
<input type="submit" value="Submit" />
}
我認為您的代碼在上面的代碼中將始終為2。 您還應該重新考慮
<tr id="count"></tr>
因為id的描述應不僅僅是一個整數。
嘗試擺脫所有@count,例如:
<script>
var count = 1;
function AddNewDoc(ElementId) {
count = count+1;
document.getElementById(ElementId).innerHTML = "<td>A</td>" + "<td>B</td>" + " <td>C</td>" + "<td><input type=\"button\" value=\"Add One More Doctor\" onclick=\"AddNewDoc(count)\" /></td></tr>" + "<tr id=\"count\">";
}
</script>
<input type="button" value="Add One More Doctor" onclick="AddNewDoc(count)" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.