0
有些人之前在所有形式的輸入開始大喊大叫,我知道有類似的問題,但他們所有的處理單個條目...重新顯示後
我有很長的表單,並且希望使用一個通用處理重新顯示數據的方法。 請注意:這是使用razor2意見中的一個字段的
例如asp.Net MVC 4應用程序,
<div class="control-group">
<label class="control-label">@Html.LabelFor(m => m.Name)
<span class="required">*</span>
</label>
<div class="controls">
@Html.TextBoxFor(m => m.Name, new { @name = "nameInput" })
</div>
</div>
我想到的,只是一個ID添加到每個文本框...的 例如何可能在確認視圖中顯示..
<div class="control-group">
<label class="control-label">Name:</label>
<div class="controls">
<span class="text display-value" data-display="nameInput"></span>
</div>
</div>
然後使用數據顯示與該ID渲染值...
jQuery的,我認爲會解決它......
var displayConfirm = function() {
$('.display-value', form).each(function(){
var input = $('[name="'+$(this).attr("data-display")+'"]', form);
if (input.is(":text") || input.is("textarea")) {
$(this).html(input.val());
} else if (input.is("select")) {
$(this).html(input.find('option:selected').text());
}
});
}
可惜,這似乎並沒有工作正常.... 任何人都可以指出/再解決這個問題?
在這種情況下,這可能不會造成世界的不同。但是,我遇到了這種情況下對我來說的情況。你在哪裏定義'var input ='...嘗試'var $ input ='...然後分別改變它,所以'input'是'$ input'。再說一遍,不是說它會幫助100%,甚至根本就不會幫助,但出於某種原因,我不記得我知道有些情況下,使用'$'和var有助於處理jQuery。我認爲它擴展它在某種意義上或某種效果 – chris
也取決於您的jQuery版本嘗試'.prop'而不是'.attr'或者您可以嘗試'.data'。你也可以嘗試'.display-value:input')。each('...和'$(this)'而不是'$('[name =''+ $(this).attr(「data-display 「)+'」]',form);' – chris
非常感謝克里斯,但是上面沒有一個有什麼影響......我對這個方法提出了警告,只是爲了確保它正在發射,當它應該...... .so回到繪圖板我去..... – mkell