2017-12-19 9 views
0

私はSharepointで作業していて、注入されたJavascriptとJQueryでリストを作成しています。ユーザーが "その他"オプションを選択した場合、テキストボックスを表示しようとしています。このオプションはもともとはドロップダウンからのものでしたが、現在は複数の選択肢のチェックボックスに基づいています。ここでjQuery change()をチェックボックスで使用するにはどうすればよいですか?

ドロップダウンに基づいてコードです:

function TargetAudienceChange(){ 
    $('select').on('change', function(){ 
    var TargetAudience = $('select[id*=TargetAudience]').val(); 
    if (TargetAudience == 'Other (Specify)'){ 
     $("h3.ms-standardheader:contains('Other Cultural Awareness')").closest("tr").show(); 
    } 
    else { 
     $("h3.ms-standardheader:contains('Other Cultural Awareness')").closest("tr").hide(); 
     $('input[id*=OtherTargetAudience]').val(""); 
    } 
    }) 
} 

私は成功せず、これを試してみました:

function TargetAudienceChange(){ 
    $('checked').on('change', function(){ 
    var TargetAudience = $('checked[id*=TargetAudience]').val(); 
    if (TargetAudience == 'Other (Specify)'){ 
     ... 
    } 
    else { 
     ... 
    } 
    }) 
} 

にはどうすれば、複数の選択を許可チェックボックスに基づくオプションについては、このコードを動作させることができますか?

答えて

0

私はこの問題を解決することができた:

function TargetAudienceChange(){ 
    $('input[id*=TargetAudience]').on('change', function(){ 
    if ($(this).prop('checked') == true && $(this).next().text() == 'Other (Specify)'){ 
     $("h3.ms-standardheader:contains('Other Cultural Awareness')").closest("tr").show(); 
    } 
    else if ($(this).prop('checked') == false && $(this).next().text() == 'Other (Specify)') { 
     $("h3.ms-standardheader:contains('Other Cultural Awareness')").closest("tr").hide(); 
     $('input[id*=OtherTargetAudience]').val(""); 
    } 
    }) 
} 
0

このセレクタ:

$('checked') 

は、このような要素を探しています:チェックボックスがありません何

<checked /> 

。あなたのHTMLを見てください。チェックボックスはこれです:

<input type="checkbox" /> 

ですから、このようなものを使用したい:

$('input[type="checkbox"]') 

または短い:

あなたの他のセレクタと同じ
$('input:checkbox') 

$('checked[id*=TargetAudience]') 

<checked />要素はありません、あなたのような要素を探したい:

$('input[id*=TargetAudience]') 

または多分:

$('input[type=checkbox][id*=TargetAudience]') 

を注:このセレクタは複数の要素をターゲットにされている場合、.val()がありますおそらくの最初の要素の値を返すだけです。どのように対処するかは、より具体的な要素をターゲットにするか、実際には複数の要素からの値の集合であるかによって異なります。

関連する問題