나는 이와 같은 상황이 있습니다. 테이블 내부에 여러 개의 확인란이 있지만 검사 데이터가 데이터베이스에서 가져오고 해당 텍스트 상자를 채우는 경우 ... 데이터를 가져올 수 있지만 텍스트 상자를 채울 수 없습니다. 이
여기 내가 한 일 :
내 관점에서 :
<script type="text/javascript">
$(document).ready(function () {
$('input:checkbox[name=adicheck]:checked').each(function () {
var empCode = $('#hdnEmp').val();
var chckid = $(this).val();
debugger;
$.get('/Employee/GetSalary',
{
empCode: empCode, ID: chckid
},
function (data,status) {
var $row = $(this).closest("tr");
$row.find('.textfield2').val(data.Monthly);
$row.find('.textfield3').val(data.Annualy);
});
});
});
@using KerelaGold.Models;
@{
kerelagoldloanEntities db = new kerelagoldloanEntities();
var empsalary = Convert.ToString(Session["empsalary"]);
var emps = db.SetSalaries.Where(e => e.EmployeeId == empsalary).FirstOrDefault();
List<SetSalaryDetail> emp = new List<SetSalaryDetail>();
if (emps != null)
{
var empsd = db.SetSalaryDetails.Where(e => e.SetSalaryId == emps.SetSalaryId).ToList();
emp = empsd;
}
var empsalaryd = emp.Select(e => e.PayName).ToArray();
var i = 0;
<div class="table-section">
<table id="tbl" width="100%" border="0" cellspacing="0" cellpadding="0" class="table-style">
<thead>
<tr>
<th>
<input type="checkbox" id="chkAll" class="SelectAll" /><label> All</label>
</th>
<th>
Name
</th>
<th>
Monthly
</th>
<th>
Annualy
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr id='@i++'>
<td>
@if (emp.Count > 0)
{
if (empsalaryd.Contains(item.Name))
{
<input type="checkbox" class="checkedItem" checked="checked" name="adicheck" value="@item.SalaryComponentId" />
<input type="hidden" id="@String.Concat("B", item.SalaryComponentId)" value="@item.SalaryComponentId" />
}
else
{
<input type="checkbox" class="checkedItem" name="adicheck" value="@item.SalaryComponentId" />
<input type="hidden" id="@String.Concat("B", item.SalaryComponentId)" value="@item.SalaryComponentId" />
}
}
else
{
<input type="checkbox" class="checkedItem" name="adicheck" value="@item.SalaryComponentId" />
<input type="hidden" id="@String.Concat("B", item.SalaryComponentId)" value="@item.SalaryComponentId" />
}
</td>
<td>
@Html.DisplayFor(modelItem => item.Name, new { @class = "textfield" })
</td>
<td>
@Html.TextBoxFor(modelItem => item.Monthly, new { @class = "textfield2", @readonly = "readonly", @onkeypress = "return isDecimalNumber(event);" })
</td>
<td>
@Html.TextBoxFor(modelItem => item.Annualy, new { @class = "textfield3", @readonly = "readonly", @onkeypress = "return isDecimalNumber(event);" })
</td>
</tr>
}
</tbody>
</table>
</div>
}@*
내 컨트롤러에서 :
public JsonResult GetSalary(string empCode, int ID)
{
var salID = db.SetSalaries.Where(s => s.EmployeeId == empCode).Select(s => s.SetSalaryId).FirstOrDefault();
var salDet = db.SetSalaryDetails.Where(s => s.SetSalaryId == salID && s.SalaryCompID == ID).Select(s => new { s.Monthly,s.Annualy }).FirstOrDefault();
return Json(salDet, JsonRequestBehavior.AllowGet);
}
그래서 상황은 이렇게 나도 문제를 보여주는 이미지를 업로드하고 있습니다
![i need different values in monthly and annualy with chechked][1]
이것 좀 도와주세요
여기서 내가 한 일은 jquery 부분 만 변경했습니다 ..
$(document).ready(function () {
$(".checkedItem").each(function () {
if ($(this).is(":checked")) {
var empCode = $('#hdnEmp').val();
var chckid = $(this).val();
var $row = $(this).closest("tr");
$.get('/Employee/GetSalary',
{
empCode: empCode, ID: chckid
},
function (data, status) {
$row.find('.textfield2').val(data.Monthly);
$row.find('.textfield3').val(data.Annualy);
});
}
});
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다