2017-02-16 6 views
-1

새로운 기능의 사전 설치를 기반으로 내 가게를 맞춤 설정하려하고 있습니다. 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을 사용할 수 없습니다.

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>'; 

기타 참고 사항 :

    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>'; 
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    

    이의 그것을 명확하게하기 위해 여러 줄에 그 휴식 보자 : 당신은 생각 (단지 currentPaymentMethod와 이전처럼), 조건 연산자를 사용할 수 있습니다

  • currentPaymentMethod을 사용하는 조건부는 구문 오류입니다. ?:
  • 사이에 뭔가가 필요합니다.
  • 당신은 아마 checked= 전에 data-href 속성의 값
  • 주 공간 주위에 따옴표를 원하는, 그래서는
  • 이 같은 이유로
+0

감사에 대한 name=value= 전에 공간을 추가 제언 data-href 값과 최대 받힌 아니에요 대답을 위해, 나는 이제 내가 읽고있는 것을 더 많이 이해한다. 나는 당신이 제안한 방식대로했으나 여전히 작동하지 않습니다. 나는 계속 노력할 것이다. 아마 그것을 알아낼 것이다. 결제 방법을 선택할 때 클래스를 "확인"으로 변경 한 최종 사이트의 스팬이있는 것으로 보이지만 어디에서 왔는지 파악할 수 없습니다. – DRPC