2011-08-01 9 views
0

フォームに、ユーザーが選択したアイコンのIDの名前を保持する5つの$ _POST隠しフィールドがあります。 ユーザーがページに戻ると、これらのアイコンにもう一度マークを付ける必要があります。 私はこれを行う方法を理解していないようです(問題としてマークされています)。jQuery:ID文字列でオブジェクトを取得しようとしています

var i=0; 
while($('#field' + i + 1 + '_icon_id').val() != '') { 
    $('img.selectable').filter(function() { 
     // PROBLEM IS HERE (I THINK) 
     return $(this).attr('id') == $('#field' + i + 1 +'_icon_id').val(); 
    }).css('border','3px solid ' + BLACK_COLOR); 
    i++; 
} 

さらに、私のjQueryを調べるにはどうすればよいですか?これらはデバッグできますか?

ありがとうございます!

答えて

1

これはお使いのブラウザによって異なります。最近のブラウザを使用している場合は、通常F12キーを押して開発者ウィンドウを開くことができます。

Chromeでは、タブの1つを「スクリプト」と呼びます。その画面に移動して行を探し、行番号をクリックしてブレークポイントを設定することができます。 ブレークポイントが作動したら、コンソールを開くには、画面の下部にあるボタンをクリックすることができますし、あなたが

"#field' + i + 1 + '_icon_id' 

を入力することができ、それは表示したいので、これは、あなたがその場でJavaScriptの機能を評価することができます答え。 これは私がFirefoxの「Firebugの」開発者のウィンドウを使用して得たものである:ブラケットを追加する

>>> i = 0 
0 
>>> '#field' + i + 1 + '_icon_id' 
"#field01_icon_id" 

はこの結果を示しています

>>> i = 9 
9 
>>> '#field' + (i + 1) + '_icon_id' 
"#field10_icon_id" 
+0

ありがとう!非常に役立ちます! – Ted

2

私はセレクタライン以下についての疑い

$( '#フィールド' + I + 1 + '_ icon_id')

それはこの

$のようにする必要があります( '#field' +(i + 1)+ '_ icon_id')

+0

'I = 1 'と仮定すると、正しいことを、最初のケースで文字列は '#field11_icon_id'として評価され、2番目の文字列は'#field2_icon_id 'として評価されます。 –

+0

作品!ありがとう! – Ted

関連する問題