2010-02-20 1 views
1

자바 스크립트 및 HTML 사용 :저장된 값 = "on"일 때 실행시 선택된 HTML 라디오 버튼 디스플레이를 어떻게 만듭니 까?

나는 저장된 데이터를 기반으로 시작시 동적으로로드되는 라디오 버튼을 포함하는 목록을 가지고 있습니다. 라디오의 저장된 값이 "켜짐"인 경우에도 시작시 라디오가 선택 항목으로 표시되지 않습니다.

제가 누락 된 부분을 파악할 수 없습니다.

if (defsales !== undefined) { 
    $('.defsales', newRow).val(defsales); } 

defsales는 라디오의 클래스 식별자입니다.

값을 확인하려면 추가 인수가 필요합니까? 아니면 시작한 후에 값을 다시 적용해야하는 항목을 추가해야합니까?

나는 혼란 스러울만큼 충분히 오래이 문제에서 일해 왔습니다.

function addSalespersonRow(id, name, phone, email, defsales) { 
var newRow = $('<tr>'+ 
    '<td><input type="hidden" class="id" /><input class="name" size="20" /></td>'+ 
    '<td><input class="phone" size="15"/></td>'+ 
    '<td><input class="email" size="30"/></td>'+ 
    '<td><input type="radio" name="salespersons" class="defsales" /></td>'+ 
    '<td><a href="#" onclick="$(this).parent().parent().remove(); return false;">Delete</a></td>'+ 
    '</tr>'); 
if (id === undefined) { 
    id = new Date().getTime(); 
} 
$('.id', newRow).val(id); 


if (name !== undefined) { 
    $('.name', newRow).val(name); 
} 
if (phone !== undefined) { 
    $('.phone', newRow).val(phone); 
} 
if (email !== undefined) { 
    $('.email', newRow).val(email); 
} 
if (defsales !== undefined) { 
    $('.defsales', newRow).val(defsales); 
} 
$('#salespersons-table tbody').append(newRow); 

return false; 
} 

여기 제대로 작동 코드이었다 도움이된다면

나의 무지를 용서하십시오

,

, 여기에 기능의 나머지 부분입니다.

if (defsales !== undefined && defsales == "on") { 
    $('.defsales', newRow).attr('checked', true); 
} 

매트 덕분에 올바른 방향으로 나를 가리켜주었습니다.

답변

1

JQuery를 사용하면 이와 같은 라디오 버튼을 확인할 수 있습니다.

$(".dfsales").attr("checked", true); 

편집 :이 보인다

작동하려면 :

$(document).ready(function(){ 
    var dfsales = 1; 
    $('<input type="radio" name="colorInput" id="test" value="2">').appendTo($("#list")); 
    if(dfsales !== undefined){ 
     $('#test').attr('checked', true); 
    } 
}) 

편집 2 : 에릭, 당신은 단지 라디오 버튼의 값을 설정하는 데 관심을 가정 할 경우이에 dfsales == 작동합니다.

if (defsales !== undefined){ 
    $('.defsales', newRow).val(defsales); 
    if(defsales == 'on'){ 
     $('.defsales', newRow).attr('checked', true); 
    } 
} 

이 도움을합니까 : 당신은 라디오 버튼 값에 관계없이 설정하려면

if (defsales !== undefined && defsales == 'on') { 
    $('.defsales', newRow).val(defsales).attr('checked', true); 
} 

,이 같은 시도?

+0

감사합니다. 마이크,하지만 당신의 제안도 작동하지 않았다. –

+1

Eric, dfsales가 정의되지 않았 음을 확신합니까? 페이지가 완전히 렌더링 된 후에 라디오 버튼이 추가됩니까? 나는 위의 편집에서 보여준 코드를 테스트했고 잘 실행되었다. raid 버튼을 집어 넣기 위해 Ajax를 사용하고 있습니까? – Matt

+0

감사합니다. Matt, 나는 JQuery 나 Ajax가 무엇인지 잘 모르겠지만, 페이지가 채워지거나 (컴파일 된) 라디오가로드되고 있음을 확신합니다. 이 프로젝트는 Javascript와 html을 사용하고 있습니다. 여기에서 전체적인 문제를 볼 수 있습니다. http://stackoverflow.com/questions/2290799/how-to-limit-checkbox-selections-to-one-in-a-html-document-when-the-list-containi –

0

이 문제를 벗어난 이유는 무엇인지, 더 중요한 것은 왜하고 있는지 확신 할 수 없지만 문제가 해결되지 않았거나 해결되지 않았기 때문입니다.

+0

Thanks Steve, 제안을 사용했지만 사용하지 못했습니다. –

관련 문제