这是数据,
<tr>
<td>
<input type="checkbox" class="internal_case">
</td>
<td style="display:none;">0</td>
</tr>
您必须看到的是第二个 td 带有“0”值。
现在我编写了这样的 JavaScript 代码,
$("#invited_table tr").each(function() {
var memberFlag = false; // if memberFlag = false -> internal, memberFlag = true -> external
var internal = {
id : "",
firstname : "",
lastname : "",
email : "",
moderator : "",
};
var external = {
id : "",
firstname : "",
lastname : "",
email : "",
timezone : ""
};
$(this).find('td').each(function(index, obj) {
//console.log($(this).find('input').prop("checked",true));
//console.log(obj.innerHTML);
//console.log($('#invited_table :radio:checked'));
// check that the radiobutton is checked
//console.log($(this).find('input').is(':checked'));
//console.log(obj.innerHTML);
switch(index) {
case 1:
//id seperate condition to external=0 or internal others
if(obj.innerHTMl=="0"){
memberFlag = true; // memberflag true means, external
external.id = obj.innerHTML;
}else{
internal.id = obj.innerHTML;
}
break;
// case 1:
// //id
//
// invitedPeopleHTML += "<td style='display:none;'>" + obj.innerHTML + "</td>";
// attendee.id = obj.innerHTML;
// // classify value, if it is internal, put member
// invitedPeopleHTML += "<td>Member</td>";
// break;
case 3:
//firstname
if(!memberFlag){
//internal
internal.firstname = obj.innerHTML;
}else{
//external
external.firstname = obj.innerHTML;
}
break;
case 4:
//lastname
if(!memberFlag){
//internal
internal.lastname = obj.innerHTML;
}else{
//external
external.lastname = obj.innerHTML;
}
break;
case 5:
//email
if(!memberFlag){
//internal
internal.email = obj.innerHTML;
}else{
//external
external.email = obj.innerHTML;
}
break;
// // if internal, timezone doesn't have to be inserted.
// // case 5://timezone
// // invitedPeopleHTML += "</tr>";
// // attendee.timezone = obj.innerHTML;
// // break;
case 6:
if(!memberFlag){
// only check the radion button, if it is internal
var checked = $(this).find('input').is(':checked');
internal.moderator = checked;
}
break;
case 8:
if(memberFlag){
// only check the timezone, if it is external
external.timezone = obj.innerHTML;
}
break;
}
});
// temp paused
//add_inviteList(attendee.id, attendee.firstname, attendee.lastname, attendee.email);
if(!memberFlag){
attendee_list.push(internal);
}else{
attendee_list.push(external);
}
});
代码很长,但我们只需集中精力
case 1:
//id seperate condition to external=0 or internal others
if(obj.innerHTMl=="0"){
memberFlag = true; // memberflag true means, external
external.id = obj.innerHTML;
}else{
internal.id = obj.innerHTML;
}
我确实检查了 obj.innerHTML 是 0!所以 if 语句必须放在 if 条件中,但它要放在 else 条件中:(
这是调试屏幕截图。
正如你在这里看到的,这肯定是真的!,但它会变成错误的条件。伙计,这让我发疯:(
最佳答案
您的 if
行中有一个拼写错误 - obj.innerHTMl
(L
是小写 - 应该是大写):
有效:
if(obj.innerHTML=="0")
关于javascript if 语句传递真实值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326497/