2016-08-30 30 views
1

いくつかの値を繰り返し処理しようとしていますが、.eachは私のために働いていないと思います。以下は、私が反復しようとしているドロップダウン値です。私のjsの今。それぞれjqueryで動作しません

.cshtml

<select class="hqSelect"> 
<option value="-1">-Select HQ/NCM Company HQ</option> 
<option value="142167">1-2-1 CLAIMS INC.</option> 
<option value="183421">1-2-1 CLAIMS():-/</option> 
<option value="154668">FARMERS INSURANCE</option> 
<option value="183281">GLOBAL LOGIC INC</option> 
<option value="183488">HQQQQQ</option> 
<option value="183282">IYOGI</option> 
<option selected="selected" value="183423">MY HQ 1</option> 
<option value="183287">NOORHQRIYA</option> 
<option value="183285">PRITIHQ</option> 
<option value="183402">PT_COMPASSRIYA</option> 
<option value="183296">RATNESHHQQ</option> 
<option value="183300">TEST_ASSOCIATION_HQ</option> 
</select> 

、私は私がに基づいて選択された値を変更できるように、クラス.hqSelectの選択値に反復する.each使用しようとしています私の論理。しかし、私のそれぞれは働いていません。私は、実行時に参照する場合、以下のの.jsコード

$("#btnSearchPopup").on("click", function (e) { 
     var hqcheckedVal = false; 
     var companyId; 
     var branchCheckedVal = []; 
     var entityType = $("input[id*='hdnEntityType']").val(); 
     var temp = '183488'; 
     $('input[name="subscribe"]').each(function() { 
      if (this.checked) { 
       hqcheckedVal = this.checked; 
       companyId = $(this).closest('tr').find('#headquarterIdForSearch').text(); 
       var companyName = $(this).closest('tr').find('#companyNameId').text(); 
       //$(this).parents().find('.hqSelect option:selected').val(companyId); 

       //var curText = $(this).parents().find('.hqSelect option:selected').text(); 
       //$(this).parents().find('.hqSelect option:selected').text().replace(curText, companyName); 
      } 
     }); 

$('.hqSelect').each(function() { 
        if (this.value === companyId) { 
         this.attr("selected", "selected"); 
         return; 
        } 
       }); 
    }); 

.hqSelectは、選択値を持っているが、それでも私はそれらを反復処理することはできません。

私が紛失しているものですか?あなたは、単一のitem.YouあるクラスhqSelect持つ要素のみを照会するので

+0

「$( '.hqSelect')。val(companyId) 'とは何ですか? – nnnnnn

+0

'$( '.hqSelect')。each'これは、クラス' hqSelect'を持つ各要素を意味します。 '$( '.hqSelectオプション')。eachまたは' $( '.hqSelect')。find( 'option')。each' – guradio

+0

オプション値を繰り返し処理したいだけです。自分のロジックに基づいて選択したテキストと値を変更することができます。 – Yash

答えて

4

selectcompanyidが含まれている場合は、単に確認することができ

$('.hqSelect option').each(function() { 
        if ($(this).val() === companyId) { 
         $(this).prop("selected", true); 
         return; 
        } 
       }); 
    }); 
+2

'$(this)).attr(...' – nnnnnn

+0

@nnnnnn変更されました –

+0

'$(this)).prop(" selected "、true);' –

0

select .Change内にコードをoptionsを取得する必要がありますその値を選択します。

if($('.hqSelect option[value="' + companyId+ '"]').length > 0) 
    $('.hqSelect').val(companyId); 
関連する問題