2
這似乎奇數和很可能是一個PEBKAC地方動態jQuery選擇......我試圖做一個jQuery的功能,其作用是通過ID頁面元素,其中ID由模型從MVC3填充上現場。創建在MVC3
我必須使用Ajax的形式寄回幫手,看起來像這樣:
<div id="[email protected](Model.Meeting.Id)" class="rsvp">
<text>You coming or what?</text>
using (Ajax.BeginForm("Rsvp", "Member", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "meeting_" + Model.Meeting.Id, OnBegin = "TryRsvp();", OnSuccess = "DidRsvp();", OnFailure = "FailRsvp();"}))
{
@Html.HiddenFor(m => m.CurrentUser.Id);
@Html.HiddenFor(m => m.Meeting.Id);
<input type="submit" name="btnSubmit" value="Yes!" />
<input type="submit" name="btnSubmit" value="No" />
}
</div>
當提交按鈕中的一個被稱爲JavaScript進行TryRsvp()火災:
function TryRsvp() {
alert('trying to rsvp');
$('#[email protected](Model.Meeting.Id)').toggle();
alert('did script');
}
我得到了兩個警報 - 但切換不起作用。
我看了代碼是輸出和線路是這樣的:
$('#rsvp_323e52cc-3058-4bfd-9a4f-0cb9653ebe99').toggle();
這看起來是正確的。
奇怪 - 如果我硬代碼行(即我用螢火找到生成的腳本,然後複製並直接粘貼到網頁),那麼它工作正常。但是,當MVC3動態生成時,它會動態失敗 - 即使據我所見,結果JavaScript是相同的。
這是怎麼回事嗎?有沒有關於MVC3傳遞頁面的方式以及腳本會在這裏有所作爲?
任何線索讚賞
它可能是切換需要jQuery和出現這種情況或無法訪問由於某種原因時,或者不加載庫的事實。嘗試將它改爲像dom api,比如'document.getelementById(「IDinquestion」);'只是爲了檢查它是否確實被正確添加,並且它不是jQuery的問題。 – Nomad101 2013-05-05 13:55:06
我想如果jQuery的不工作然後硬編碼標識會失敗,但硬編碼的腳本工作正常 – Kaine 2013-05-05 14:11:58
這只是一個建議淘汰的可能性。除此之外,它應該至少從我可以說的事情來看。 – Nomad101 2013-05-05 14:12:59