2017-02-16 12 views
-1

私は新しい機能を備えたプレstashopに基づいて私の店をカスタマイズしようとしています。私は、JSのラジオの支払い方法の選択を生成したが、私は最初のもの(i = 0)をデフォルトでチェックする方法を見つけることができません。 支払い方法には番号が付けられ、最初の番号はi = 0です。 私はif (i == 0) {'checked="checked"' }を試しましたが、うまくいきません。JSがラジオの選択を生成しました - 最初の位置をデフォルトの位置にする方法

$('.payment_module').each(function(i) 
     { 
     var a = $(this).find('a'); 
     html += '<table class="resume table table-bordered'+(currentPaymentMethod == a.attr('href') ? ' selected' : '')+'"><tr>'; 
     html += '<td class="td1_payment"><input type="radio" name="id_method_paymend" id="payment_method_id_'+i+'" '+(currentPaymentMethod == a.attr('href') ? : '')+' value="'+i+'" class="wysylka_w_payment" data-href='+a.attr('href') if (i == 0) {'checked="checked"' }+' /></td>'; 
     var img = $(this).find('a').css('background-image').replace(/.*\s?url\([\'\"]?/, '').replace(/[\'\"]?\).*/, ''); 
     html += '<td class="td2_payment"><label for="payment_method_id_'+i+'" class="img_w_payment"><img src="'+img+'" alt="" /></label></td>'; 
     //$(this).find('img').remove(); 
     html += '<td class="td3_payment"><label for="payment_method_id_'+i+'" class="opis_w_payment">'+a.html()+'</label></td>'; 
     html += '</tr></table>'; 
     $(this).attr('id', 'payment_method_'+i+''); 
    }); 

任意のアイデア:

ここでの支払方法を生成するコードですか?私は解決策が単純かもしれないと思っていますが、私はよくJSをよく知りません。

答えて

1

式の途中でifを使用することはできません。あなたは(ちょうどcurrentPaymentMethodと1以前のような)が、条件演算子を使用することができます。

html += '<td class="td1_payment"><input type="radio" name="id_method_paymend" id="payment_method_id_'+i+'" '+(currentPaymentMethod == a.attr('href') ? : '')+' value="'+i+'" class="wysylka_w_payment" data-href='+a.attr('href') + (i == 0 ? ' checked="checked"' : '') +' /></td>'; 
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

はそれを明確にするために複数行にそれを破るのをしてみましょう:

html += '<td class="td1_payment"><input type="radio"'; 
html += 'name="id_method_paymend" id="payment_method_id_'+i+'"'; 
html += (currentPaymentMethod == a.attr('href') ? : ''); // <== The earlier one 
html += 'value="'+i+'" class="wysylka_w_payment" '; 
html += ' data-href='+a.attr('href'); 
html += (i == 0 ? ' checked="checked"' : '');    // <== The added one 
html += ' /></td>'; 

その他の注意事項:

  • currentPaymentMethodを使用した条件文は構文エラーです。?:
  • の間に何かが必要です
  • はおそらくchecked=data-href属性の値
  • 注スペースを囲む引用符をしたいので、それは
  • が同じ理由
+0

ありがとうname=value=の前にスペースを追加することをお勧めdata-href値に対してアップ激突いません答えは、今私は何を読んでいるのか分かっています。私はあなたが提案したようにそれをやったが、それでも動作しない。私は試し続けます、多分私はそれを把握します。最終的なサイトには支払い方法を選択したときにクラスを「チェック済」に変更したスパンがあるようですが、どこから来たのか分からないようです。 – DRPC

関連する問題