我正在比较来自两个不同实体的字段,因此如果值不同,那么表单1上的字段将被设置为字段值在另一个表单上的字段。问题是虽然逻辑似乎适合某些它拒绝继续下一个if / else块的块,除非前一个值发生了变化。
因此无论是否更改,它都会检查州和国家没有问题的块。但是,除非州或国家被更改(或国家被注释掉),否则它不会继续作为主要专业来检查那些价值观。不知道我在这里缺少什么。我确保没有任何东西嵌套,并且所有逻辑实际上都有效。
console.log(users.find(function(u) { return u.email == 'test@user.com' }));
答案 0 :(得分:0)
所以为了让我开始工作,我必须在条件下添加其他空的。它强制它继续并检查其他条件。这对我来说毫无意义,但无法找到解决问题的另一种方法。
if (getFieldValue("hc_stateid") == null && result["_hc_state_value"] != null) {// checling if value is null on tni becacuse the else if wouldnt execute b/c no id
Xrm.Page.getAttribute("hc_stateid").
setValue([
{
id: result["_hc_state_value"],
name: result["_hc_state_value@OData.Community.Display.V1.FormattedValue"],
entityType: result["_hc_state_value@Microsoft.Dynamics.CRM.lookuplogicalname"]
}]);
save = true;
}
else if (getFieldValue("hc_stateid") == null && result["_hc_state_value"] == null) {
//this is needed otherwise it does not continue to check conditons
}
else if (result["_hc_state_value"] != getFieldValue("hc_stateid")[0].id.replace("{", "").replace("}", "").toString().toLowerCase()) {//tni has a value
if (result["_hc_state_value"] == null) {
Xrm.Page.getAttribute("hc_stateid").setValue(null);
save = true;
}
else {
Xrm.Page.getAttribute("hc_stateid").
setValue([
{
id: result["_hc_state_value"],
name: result["_hc_state_value@OData.Community.Display.V1.FormattedValue"],
entityType: result["_hc_state_value@Microsoft.Dynamics.CRM.lookuplogicalname"]
}]);
save = true;
}
}
else {
}
if (getFieldValue("hc_countryid") == null && result["_hc_country_value"] != null || getFieldValue("hc_countryid") != null && result["_hc_country_value"] == null) {
if (result["_hc_country_value"] == null) {
Xrm.Page.getAttribute("hc_countryid").setValue(null);
save = true;
}
else {
Xrm.Page.getAttribute("hc_countryid").
setValue([
{
id: result["_hc_country_value"],
name: result["_hc_country_value@OData.Community.Display.V1.FormattedValue"],
entityType: result["_hc_country_value@Microsoft.Dynamics.CRM.lookuplogicalname"]
}]);
save = true;
}
}
else if (getFieldValue("hc_countryid") == null && result["_hc_country_value"] == null) {
//this is needed otherwise it does not continue to check conditons
}
else if (getFieldValue("hc_countryid")[0].id.replace("{", "").replace("}", "").toString().toLowerCase() != result["_hc_country_value"]) {
Xrm.Page.getAttribute("hc_countryid").
setValue([
{
id: result["_hc_country_value"],
name: result["_hc_country_value@OData.Community.Display.V1.FormattedValue"],
entityType: result["_hc_country_value@Microsoft.Dynamics.CRM.lookuplogicalname"]
}]);
save = true;
}
else {
}