

`iconName.indexOf('icon07.png')` の画像データがある時は `<option value="40610"
selected="">` にselectのデータが入らない処理したいので、どうしても処理を発生しない条件がほしいです。

このようにコードを書いてもうまくいきません。  
どのように改良すればいいでしょうか。

[code]

    if(calendarId)
    {
        var iconName = $("[ownerid='" + ownerid + "']").next().children('.user-table').children('dt').first().children('img').attr('src');
    
        if(iconName.indexOf('icon04.png') != -1) isHuman = true;
        else if(iconName.indexOf('icon07.png') != -1) isHuman = false;  
        else isHuman = false;
    
        if(isHuman) {
            url += 'allGroupUuserList=' + calendarId;
        }
        else if{
        }
        else
        {
            url += 'allfacilitieList=' + calendarId;
        }
    }
    
[/code]

[code]

    <div class="col-xs-5 form-group"> 
    <label class="col-xs-12 control-label mb5" style="float: left;" for="group_registered_userlist">参加</label>
    <select name="invitedUserCalendarResourceIds" class="col-xs-12 form-control input-sm" id="group_registered_userlist" size="8" multiple="">
    <option value="40610" selected=""> (ここにデータを選択された状態にしたい) </option> </select>
    </div> 
    
    <td class="col-user">
    <div class="calendar-param hidden" allmemberregistid="40612" calendarid="40612" displayname="ログインユーザー" ownerid="40519"></div>
    <div class="loginuser_data">
    <dl class="user-table">
    <dt><img alt="" src="/o/kview-scheduler-web/images/icon04.png"></dt>
    <dd><span class="loginuser_user">ログインユーザー</span></dd>
    <dt class="tool_mobile"><img onclick="monthlyClicked();" alt="" src="/o/kview-scheduler-web/images/icon05.png"></dt>
    <dd></dd> 
    </dl> 
    </div> 
    </td>
    
    <td class="col-user">
    <div class="calendar-param hidden" allmemberregistid="40622" calendarid="40622" displayname="他人" ownerid="39653"></div>
    <div class="groupuser_data"> 
    <dl class="user-table"> 
    <dt><img alt="" src="/o/kview-scheduler-web/images/icon04.png"></dt>
    <dd><span class="groupuser_user">他人</span></dd> 
    <dt class="user_post"><img alt="" src="/o/kview-scheduler-web/images/icon07.png"></dt>
    <dd class="user_post"><span class="position">役職</span></dd>
    <dt class="user_division"><img alt="" src="/o/kview-scheduler-web/images/icon08.png"></dt>
    <dd class="user_division"><span class="department">所属</span></dd> 
    </dl>
    </div>
    </td>
    
    <td class="col-user">
    <div class="calendar-param hidden" allmemberregistid="246147" calendarid="246147" displayname="会議室" ownerid="246144"></div> 
    <div class="groupuser_data"> 
    <dl class="user-table"> 
    <dt><img alt="" src="/o/kview-scheduler-web/images/icon08.png"></dt> 
    <dd><span class="groupuser_user">会議室</span>
    <dd class="reserve-size"></dd> 
    </dl> 
    </div> 
    </td>
    
    
[/code]


CC BY-SA 4.0
2019-05-09T07:23:46.433
54855
2019-05-11T06:08:15.297
2019-05-11T06:08:15.297
32986
25636
question
javascript html jquery
jqueryのelse if文の条件分岐


構文自体が間違っているコードだけを質問中に記載されても何をしたいのか判断できません。「`iconName.indexOf('icon07.png')`の画像データがある時は`<option
value="40610"
selected="">`にselectのデータが入らない処理したい」と言った重要な情報はコメントだけでなく質問本文に記載してください。

問題は3通りの分岐をしたいのに`true`か`false`の2通りしかない中間変数`isHuman`を導入していることのように思われます。(`isHuman`がどこにも宣言されていないのも気になりますが、それはまた別の話。)`isHuman`なんて無理に使う必要はないように思うのですが?

[code]

    if( iconName.indexOf('icon04.png') != -1 ) {
        url += 'allGroupUuserList=' + calendarId;
    } else if( iconName.indexOf('icon07.png') != -1 ) {
        //Do nothing.
    } else {
        url += 'allfacilitieList=' + calendarId;
    }
    
[/code]

あるいは、こう書いても良いでしょう。

[code]

    if( iconName.indexOf('icon04.png') != -1 ) {
        url += 'allGroupUuserList=' + calendarId;
    } else if( iconName.indexOf('icon07.png') == -1 ) { //<- `==`にしている
        url += 'allfacilitieList=' + calendarId;
    }
    
[/code]

* * *

`if`の後ろには必ず条件を明示してやる必要があります。あなたの心の中にある「なんとなくこう動いてくれたら良いな」と言う漠然とした願望をJavaScriptの処理系が推定・斟酌してくれることはありません。


CC BY-SA 4.0
2019-05-10T00:18:00.947
54864
2019-05-10T00:18:00.947
13972
54855
answer