2017-09-19 7 views
0

配列の値ごとに2つの値を持つ文字列を作成しようとしています。検索語と=、>などです。ID値を完全に埋め込むことができますしかし、ドロップダウンのIDを介して値を取得しようとすると、私は微妙なエラーが発生します。誰も私が逃したものを考えましたか?おかげ動的ドロップダウンメニューでJqueryの値が定義されていません

HTMLコード

<span>Where ID </span><input name="ctl00$cBody$[ID]" type="text" id="[ID]" class="querysearch" runat="server" name="ID" /><select name="ctl00$cBody$[ID0]" id="[ID0]" class="querysearchtype"> 
     <option value="=">=</option> 
     <option value=">">&gt;</option> 
     <option value="&lt;">&lt;</option> 
     <option value="&lt;>">&lt;&gt;</option> 
     <option value="=&lt;">=&lt;</option> 
     <option value="=>">=&gt;</option> 

    </select> 

のjQueryコード

$('#lnkBuildWhereQuery').click(function() { 
      var toPost = ''; 
      var stype = ' WHERE '; 
      var rcount = 0 
      $("#wherequery").val("") 
      $('.querysearch').each(function() { 
       if (rcount != 0) { 
        stype = " AND " 
       }; 

       if (!this.value) { 
        //Blank Value Searched 
       } 
       else { 
        //Build dropdown id by id of textbox 
        var qid = ($(this).attr('id')) 
        //Add the dynamic number and replace the end ] to stop [id]0 - should be [id0] 
        var qidrename = "#" + qid.replace("]", rcount + "]") 
        //Stick it all together to get the value of dropdwon by id"#" 
        var qidval = $(qidrename).val() 
        //var qidval = " =" 
        toPost = toPost + stype + $(this).attr('id') + qidval + " '" + $(this).val() + '\''; 
      $("#wherequery").val(toPost); 
      rcount = rcount + 1} 

     }); 
    }); 

問題一部:あなたは#などではないと一致するようにid属性を使用する必要が

var qidval = $(qidrename).val() 

答えて

1

$('[id=yourID]') 

ここのコードでは、

代わりの

var qidrename = "#" + qid.replace("]", rcount + "]") 

var qidrename = '[id="'+qid.replace("]", rcount + "]")+'"]'; 
+0

を試みるように応じてラインを交換する必要がありがとうございました - 私の問題を修正しました!特殊文字を使用するための –

+0

は、id attrをエスケープまたは一致させる必要があります。それがうれしい – Komal

関連する問題