我是ASP.Net MVC和JQuery的新手。
我想获取包含所选下拉列表值的行详细信息放在一列中。我想将值存储在一个对象中,如customer = {customerId:'',customerName:''}
所以如何使用JQuery做到这一点。
这是我的表结构。
<table style="table-layout: fixed;" class="data-display-table" id="tblFleet">
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
<input type="checkbox" id="chk-@item.Data" />
</td>
<td>
@item.CustomerId
</td>
<td>
@item.CustomerName
</td>
<td>
@item.ContactNo
</td>
<td>
@{string ddlId = "ddl" + item.CustomerId}
@Html.DropDownList(ddlId, (IEnumerable<SelectListItem>)ViewBag.MessageTemplateList, new { @style = "width:140px" })
</td>
</tr>
}
</tbody>
</table>
答案 0 :(得分:1)
我确定如果您使用@ Html.CheckBoxFor,它会自动了解复选框是否勾选。
例如,如果您使用带输入标签的a(输入类型=&#34;提交&#34;)
哪个帖子会回传给控制器,只要你传入模型(这是我假设你自己使用CheckBoxFor所做的事情),ASP应该理解它是否已经检查
答案 1 :(得分:0)
尝试此操作:为复选框绑定更改事件,然后找到其父tr
,然后在父select
内找到tr
框。
$(function(){
$('input[type=checkbox]').change(function(){
if($(this).is(':checked')
{
var parentTR = $(this).closest('tr');
var selectBox = $(parentTR).find('select');
var selectBoxValue = $(selectBox).val();
alert(selectBoxValue);
}
});
});
注意 - 选中复选框时,我正在读取选择框值,如果不是您的要求,则可以删除条件。
答案 2 :(得分:0)
$(document).ready(function(){
$('input[type="checkbox"]').change(function(){
if($(this).is(':checked'))
{
var customerid = $(this).closest('tr').find('td').eq(1).text();
var drop = $(this).closest('tr').find('td').eq(4).find('select option:selected').val();
}
});
});