@ Html.CheckBox에서 사용되는 모델 (부울) 속성 값을 기반으로 테이블에서 주어진 행의 배경색을 변경해야합니다. 모델이 PostExampleCompleted 액션 메소드의 새 확인란 값으로 업데이트됩니다.테이블에서 주어진 행의 배경색 변경하기
<table>
<thead>
<tr>
<th>Item name</th>
<th>Comments</th>
<th>User</th>
<th>Complete</th>
</tr>
</thead>
<tbody>
<tr id="FooRow">
<td>Foo</td>
<td>@Model.FooComments</td>
<td>@Model.FooUserName</td>
<td>
@using (Ajax.BeginForm("PostFooCompleted", "Home", new AjaxOptions { OnBegin = "ShowProcessingMsg", OnComplete = "HideProcessingMsg" }))
{
@Html.CheckBox("FooItemComplete", Model.FooComplete, new { onClick = "$(this).parent('form:first').submit();" })
}
</td>
</tr>
<tr id="WidgetRow">
<td>Widget</td>
<td>@Model.WidgetComments</td>
<td>@Model.WidgetUserName</td>
@using (Ajax.BeginForm("PostWidgetCompleted", "Home", new AjaxOptions { OnBegin = "ShowProcessingMsg", OnComplete = "HideProcessingMsg" }))
{
@Html.CheckBox("WidgetItemComplete", Model.WidgetComplete, new { onClick = "$(this).parent('form:first').submit();" })
}
</td>
</tr>
</tbody>
</table>
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 코드 예제는 감사하겠습니다 :).
감사합니다.
... 그는 모델의 값에 따라 행의 배경 색상을 설정하고자 을. Ajax 호출을 통해 모델 값을 변경할 수 있다는 점에서 문제가 있습니다. Ajax 양식이 실제로 모델 값을 변경하지는 않지만 오히려 해당 양식 내에서 컨트롤 값만 설정하는지는 확실하지 않습니다. – nttakr
동의합니다. 질문을 잘못 읽었습니다. –
네, 그 말이 맞습니다. 모델이 체크리스트 값으로 업데이트되었지만 이것이 내 주요 문제는 아닙니다.
코드는 설정이 무엇인지 정확하게 파악하기 위해 조금씩 작습니다.
요소가 있다는 사실 때문에 테이블에 여러 행이 있다는 것을 추론합니다. 개인적으로 각 행에 AjaxForm을 사용하는 것에 반대합니다. 그것은 많은 오버 헤드처럼 보입니다.
모든 행을 처리하고 그 자체로 필요한 작업을 수행하는 jQuery 코드의 단일 구조를 매우 쉽게 작성할 수 있습니다.
jQuery의 라이브 기능을 사용하면 추가되는 행과 독립적입니다.
체크 박스 또는 행에는 컨트롤러에 ajax 호출을 다시 보낼 수있는 식별자가 있어야합니다. 성공시 체크 상자의 상태를 평가하고 행을 적절히 색칠 할 수 있습니다.
정말 도움이되는 코드가 더 필요합니다.
출처
2011-08-25 10:58:13 nttakr
관련 문제