2016-08-20 18 views
0

問題から値を取得し、jQueryのアヤックスからselectタグをレンダリング:時々私はアヤックスのjQueryのタグ要素(<select>)を作成し、時には私はそのから値を取得することはできません、とその後、選択されたオプション

私はそれを得ることができます。

ピクチャー Ajaxの前に1 *:Ajaxの後 enter image description here

ピクチャー 2 *:proyek:要素のidがある enter image description here

仮定。

私はそれを慰めることを試みた:$('#proyek').val()、それはundefined言うが、それはそれは価値17(正しい値)を持っていると言い、私はproccessをリロードして、やり直してください後。

時々私は価値を得ることができ、時には私は傾けることができます。


コード全体

HTML:<span id="generateProyek"></span>

のjQuery:$("#generateProyek") .load("{{ this.url.getBaseUri()~"companyprojectdetail/ajaxproyek/" }}"+id,function(){});

*注:私は、ボルトを使用し、それが何かをエコーする{{ }}を使用しています。

答えて

0

jQueryは、ページがロードされた後に作成された要素に直接アドレス指定することはできません。 これを行うには、委任を使用してください。我々が取得したい今$('#to_be_loaded_into') 我々は(AJAX要求を使用して作成された)$('#proyek')をクリックしてください:私たちは、div要素を持っている

:私はあなたのコードの大きな絵を持っていない 以来、私は状況を説明します値:

$('#to_be_loaded_into').on('click, '#proyek', function(){ 
console.log($('#proyek').val(); 
)}; 

が編集:あなたの要素のためのより具体的な取得しようと、それだけかもしれません: $('#generateProyek').on('click, '#proyek', function(){ console.log($('#proyek').val(); )};

私が最初にHTMLにロードされている要素に対処し、その要素を参照するよりも、必要がありますそれの中にある動的にレンダリングされました

+0

私は '$( '#to_be_loaded_into')' == '$( '#generateProyek')' ..? –

+0

私はこれを使用しなければならないことを意味します: '$( '#generateProyek #proyek')。(function.){console.log( '#proyek')。val();})' –

+0

正直ですここでは '.click()'を使ったことはないと言っています。 '.on( 'event'、 'delegation [optional]、function(){})'私にとってもっと理にかなっています。しかし、あなたのニーズに合っているかどうかを調べるには、 '.click()'パラメータのjqueryドキュメントをチェックしてください。 – RanST

関連する問題