2010-07-27 4 views
0

같은 이름이지만 다른 ID를 가진 라디오 버튼이 많아서 페이지로드시 특정 버튼을 선택하지 않아도됩니다. 원하는 버튼의 ID가 데이터베이스에 저장됩니다. 나는 실제 Ajax 호출을 위해 이런 종류의 솔루션을 시도했지만, 슬프게도 작동하지 않았다.jQuery : 데이터베이스에서 ID 태그를로드 중

$.ajax({ 
     type: "POST", 
     url: "load_config.php", 
     dataType: "json", 
     data: dataString, 
     success: function(data) 
     { 
      var buttonID = "#"+data.buttonID; // data.buttonID = "button5" 
      $(buttonID).attr("checked", true); 
     } 
}); 

하는 HTML 부분은 버튼보다 훨씬있는 경우를 제외하고,이 그렇다고 방식에있는 동안 :

<input type="radio" id="button1" name="example" value="value1"/> 
<input type="radio" id="button2" name="example" value="value2"/> 
<input type="radio" id="button3" name="example" value="value3"/> 
<input type="radio" id="button4" name="example" value="value4"/> 
<input type="radio" id="button5" name="example" value="value5"/> 
+0

어떤 오류 메시지가 나타납니다? – Sarfraz

+1

시도하십시오 jsFiddle : http://jsfiddle.net/CfWsc/. 그것은 나를 위해 FF3.6에서 작동합니다. AJAX 호출이 성공하고 있습니까? 데이터가 맞습니까? – MvanGeest

+1

'data.buttonID'가'button5'인지 또는 html에'button5'라고하는 다른'ID'가있을 경우 다시 확인하십시오. – KakambaWeb

답변

1

더블 당신의 JSON 돌아 오는 확인, 전반적인 접근 방식이 정확한지, 당신이 그것을 테스트 할 수 있습니다 여기 : http://jsfiddle.net/nick_craver/KuK3Z/

나는 당신의 data.buttonID매우 당신이, 또는 당신의 코드는 다음처럼 document.ready 내에서 실행되지 않는 생각하지 않습니다 내기 것 :

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "load_config.php", 
     dataType: "json", 
     data: dataString, 
     success: function(data) 
     { 
      var buttonID = "#"+data.buttonID; // data.buttonID = "button5" 
      $(buttonID).attr("checked", true); 
     } 
    }); 
}); 

그것은 document.ready하고 AJAX 호출에서 실행되지 있다면 당신의 요소를 준비하기 전에 $("#button5") 선택 확인 아무것도 찾을 수 없습니다 완료됩니다. 또는 페이지를 렌더링 할 때 <input />checked="checked"을 올바르게 렌더링하고 AJAX 호출을 완전히 제거하면 훨씬 더 좋습니다. 당신의 PHP 나 내 마지막 솔루션을 확인 정의되지 않은 경우 시도 그렇지 않으면

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "load_config.php", 
     dataType: "json", 
     data: dataString, 
     success: function(data) 
     { 
      alert(data['buttonID']); 
     } 
    }); 
}); 

:

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "load_config.php", 
     dataType: "json", 
     data: dataString, 
     success: function(data) 
     { 
      $("#"+data['buttonID']).attr("checked",true); 
     } 
    }); 
}); 

을 나는 시간에 JSON을 반환하면 문제를했습니다

+0

오, 쓰레기. 네가 맞아, data.buttonID가 undefined로 돌아왔다. 나는 그것을 일찌기 검사하고, 그러나 수정하고 나중에 그것을 typo'd 확실하다. 다소 당황스러워! 어쨌든 고마워요. D – Seerumi

0

시도는 데이터 응답을 확인하는 jquery, json 문자열은 많은 슬래시와 함께 반환되었습니다 ... 첫 번째 솔루션은 오류 (이것은 json을 디코딩하지 않고 문자열을 반환하는 양식 서버를보고합니다)을 제공합니다.

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "load_config.php", 
     dataType: "text", 
     data: dataString, 
     success: function(data) 
     { 
      alert(data); 
     } 
    }); 
}); 

영어로 죄송합니다. 그것이 작동하면 뭔가 말해 ...

+0

오타가 되었기 때문에 어쨌든 제안 해 주셔서 감사합니다. – Seerumi

+0

당신은 환영합니다;) – CuSS