我有一个对象
<ul class="food-list">
<div class="active orange">
<li> orange</li>
<select class="serving-size"><option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</ul>
<ul class="food-list">
<div class="active eggs">
<li> orange</li>
<select class="serving-size"><option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</ul>
<ul class="food-list">
<div class="active bagel">
<li> orange</li>
<select class="serving-size"><option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</ul>
在上面的点击功能中,我实际上要做的是:
以下是相应的HTML:
<ul>
* $('input').on('ifChecked', function(event) {
var liText = $(this).parent().parent().text();
var wrappedUp = $('<div class="active"><li>' + liText + '</li><select class="serving-size"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select></div>');
$('.food-list').append(wrappedUp);
$(wrappedUp).addClass('' + liText + '');
中的div是在用户选中复选框时动态创建的。
public ActionResult Edit([Bind(Include = "Id,No_,RaisonSociale,Magasin,RemiseHabituelle,FamilyName,FirstName,EmailSup,Login,AffPrix,PasserCmd,EmailRespMagasin,Admin,BoursePR,Actif,IdSession,VendeurItirénant,ChargeClient,ValidOuAnnul,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] ApplicationUser applicationUser)
{
if (ModelState.IsValid)
{
context.Entry(applicationUser).State = EntityState.Modified;
try
{
context.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
{
Exception raise = dbEx;
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{ string message = string.Format("{0}:{1}",
validationErrors.Entry.Entity.ToString(),
validationError.ErrorMessage);
// raise a new exception nesting
// the current instance as InnerException
raise = new InvalidOperationException(message, raise);
}
}
throw raise;
}
return RedirectToAction("ListUsers","Account");
}
return View(applicationUser);
}
*从我所做的测试中,我发现一切正常,除了&#34;值&#34;变量。
这让我问这个问题:
是否(&#34;值&#34;变量)是检索对象(foodLoads)中属性值的正确语法?
非常感谢帮助:)
答案 0 :(得分:2)
现在您已经包含了HTML,这里有几个问题。
<li>
的直接父级必须是<ol>
,<ul>
或<menu>
标记。所以你的HTML不合法。见reference on MDN:
HTML
<li>
元素(或HTML列表项元素)用于表示 列表中的项目。它必须包含在父元素中: 有序列表(<ol>
),无序列表(<ul>
)或菜单(<menu>
)
然后,一旦你修复了jQuery中的相应选择器,你的表查找可能就不起作用,因为你的HTML中有一个领先的空间。
<li> orange</li>
这将在foodName
变量上放置一个前导空格,这将导致它在对象查找中找不到任何内容。
修复HTML和相应的jQuery选择器以制作合法HTML后,您可以删除<li>
标记内的前导空格,也可以删除任何前导空格:
var foodName = $(type).text().trim();
您还必须确保没有多个与<li>
匹配的.active
,因为如果您这样做,.text()
将从这两个文本中获取文本并连接它,它也不会与你对象中的任何键匹配。