我正在填充 Ajax 调用的复选框列表,我试图获取已检查的复选框,我只得到第一个值。如果我做错了什么,请帮助我。
我的HTML:
<%@ Control Language="C#"Inherits="System.Web.Mvc.ViewUserControl<EmsAdmin.Models.User>" %>
<%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors andtryagain.") %>
<% using (Html.BeginForm(null, null, FormMethod.Post, new { name =
"VerficationForm", id = "VerficationForm" }))
{%>
<%= Html.AntiForgeryToken() %>
<%: Model.Id %>
<h2>Go For All / Individual Brands</h2>
<p>
<input type="checkbox" id="checkBoxAllSelect" class="checkBoxAllSelect" value="All" />
All
<br />
<input type="checkbox" id="checkBox1Individual" class="checkBox1Individual"
value="Individual" />
Individual
<br/>
<input type="button" value="GetBrands" class="getBrands" />
</p>
<hr />
<h2>Multi Select Brands If Required:</h2>
<div id="checkboxes" class ="divNewBrandsList">
</div>
<hr />
<h2>Countires For Each Brand:</h2>
<div id="checkboxescountries" class="divNewCountriesList">
</div>
<hr />
<% } %>
脚本:
<script type="text/javascript">
$('.getBrands').hide();
function myBrandsfunction() {
var selectedBrands = "";
var manu = "";
var input = "";
$("#checkboxes input:checked").each(function () {
manu = $(this).val();
alert("Brand value:" + manu); // Here I am getting only one Selected checkbox but not all.
selectedBrands = selectedBrands + "," + manu;
alert("Selected brands:" + selectedBrands);
var productInput = "";
var myUrl = "/Countries/GetCountiresForManufacturer/" + selected + "/" + input;
$.ajax({
url: myUrl,
type: 'get',
success: function (data) {
productInput = data;
$(".divNewCountriesList").html(productInput);
}
});
});
}
控制器:
/// <summary>
/// GetBrands for Organisation
/// </summary>
/// <returns></returns>
[Authorize(Roles = "Administrator")]
[AcceptVerbs(HttpVerbs.Get)]
public string GetBrandsForOrganisation(string organisation)
{
var sb = new StringBuilder();
// var brandsList = new List<String>();
if (organisation == null)
{
return "";
}
else
{
var corporation = _corporationRepository.GetCorporationByName(organisation);
if (corporation != null)
{
// Get Manufactuerers
var brands = _corporationManufacturerRepository.GetAllManufacturersForCorporation(corporation.Id);
sb.Append("<div id = \"" + organisation + "\">");
foreach (var brand in brands)
{
sb.Append("<input id =\"" + brand.Manufacturer.Id +
"\" type=\"checkbox\" class=\"checkboxBrand\" value=\"" +
brand.Manufacturer.Description + "\"/>" + brand.Manufacturer.Description);
sb.Append("<br />");
}
sb.Append("<br />");
sb.Append("</div>");
}
}
sb.Append("<input type=\"button\" value=\"GetCountries\" onclick = \"myBrandsfunction()\"class=\"brands\"/>");
return sb.ToString();
}