我有一个带复选框的表,我想编辑一些td并希望得到该值。 这是我的代码
protected virtual RecipientId RecipientId
{
get
{
RecipientId recipientId = null;
var contactId = ContactId;
if (contactId != (ID)null)
{
recipientId = new XdbContactId(contactId);
}
return recipientId;
}
}
protected virtual ID ContactId
{
get
{
if (!Email.Visible || string.IsNullOrEmpty(Email.Text))
{
return new ID(Tracker.Current.Contact.ContactId);
}
var anonymousId = ClientApi.GetAnonymousIdFromEmail(Email.Text);
return anonymousId.HasValue ? new ID(anonymousId.Value) : new ID(Tracker.Current.Contact.ContactId);
}
}
protected virtual void UpdateEmailInXdb()
{
_recipientRepository.UpdateRecipientEmail(RecipientId, Email.Text);
}
我没有得到任何结果。我想获得这样的价值: $ v1 = $ _ POST [' v1'];但是我得不到任何东西。
有人能帮助我吗?谢谢!
答案 0 :(得分:0)
这里至少有两个选项:
如果是数据(最佳方法),无处不在的隐藏字段:
<td>
<input type="checkbox" name="checkBox[]" id="ic" value="{{ user.id }}" />
<input type="hidden" value="{{user.lastname}}" name="v1[{{ user.id }}]"></td>
<td data-title="id">{{user.id}}</td>
<td data-title="firstName">{{user.firstname}}</td>
<td data-title="lastName" contenteditable='true'>{{user.lastname}}</td>
并在服务器端执行:
.... your code ....
foreach ($user as $id) {
$lastname = $v1[$id];
... save your lastname value ...
}
另一种选择是设置复选框值,数据以某个值(丑陋的解决方案)
分隔<td><input type="checkbox" name="checkBox[]" id="ic" value="{{ user.id }}#{{user.lastname}}" /></td>
<td data-title="id">{{user.id}}</td>
<td data-title="firstName">{{user.firstname}}</td>
<td data-title="lastName" contenteditable='true' name="v1">{{user.lastname}}</td>
修改强>
我现在看到你正在使用contenteditable。您应该将值添加到隐藏字段:
$("form").submit(function() {
$('input[name*="v1"]').val($(this).closest('td[name="v1"]').html());
});
<td>
<input type="checkbox" name="checkBox[]" id="ic" value="{{ user.id }}" />
<input type="hidden" value="{{user.lastname}}" name="v1[{{ user.id }}]"></td>
<td data-title="id">{{user.id}}</td>
<td data-title="firstName">{{user.firstname}}</td>
<td data-title="lastName" contenteditable='true' name="v1">{{user.lastname}}</td>