2010-05-31 2 views
2

jquery가 포함 된 포스트 기능에서 XML 파일에서 가져온 데이터로 폼의 다중 체크 박스를 채워야합니까?jquery는 xml 파일에서 다중 체크 박스를 채 웁니다.

<input type="checkbox" name="mercato[]" id="mkt_0" value="A">A<input type="checkbox" name="mercato[]" id="mkt_1" value="B">B 

미리 감사드립니다.

$.ajax({ 
     type: "POST", 
     url: "some.xml", 
     dataType: "xml", 
     success: function(xml) { 
      var node = $(xml).find('node'); 
      var attribute = $(xml).find('node').attr("attribute"); 
     //TODO: do something with data 
    } 
    }); 

또한 요소 컬렉션을 통해 반복에 대한 $.each()을 사용할 수 있습니다 : 챠오 시간

+0

작성한 JavaScript 코드를 표시해주십시오. 감사. – mexique1

+0

jQuery를 사용하여 확인란을 선택하는 방법을 잘 모르는 것처럼 보입니다. 그 맞습니까? – user113716

답변

2

는 여기에 XML을 받고 jQuery를 통해 구문 분석의 예입니다.

편집 : 여기가 반환 된 XML은 다음과 같습니다 가정하고 몇 가지 체크 박스를 만드는 방법은 다음과 같습니다

<?xml version="1.0"?> 
<RootElement> 
    <CheckBox name="checkbox1">checked</CheckBox> 
    <CheckBox name="checkbox1">checked</CheckBox> 
    <CheckBox name="checkbox1"></CheckBox> 
    <CheckBox name="checkbox1"></CheckBox> 
    <CheckBox name="checkbox1">checked</CheckBox> 
</RootElement> 

JS는 다음과 같이 보일 것이다 :

$(xml).find('CheckBox').each(function(){ 
     var value = $(this).text(); // get the value 
     var name = $(this).attr("name"); //get the name attribute 
     $("#parent_div").append(//append to some parent container 
       $("<input/>") // a new input element 
        .attr("type", "checkbox") //of type checkbox 
        .attr("name", name) // with given name 
        .attr("checked", value) // checked="checked" or checked="" 
     ) 
    }); 
+0

XML을 파싱하여 입력 텍스트 라디오에 대한 데이터를 가져오고 선택하지만 체크 박스가 아닌 :-( – haltman

+0

mcm69에 답해 주셔서 감사합니다. 데이터를 추가 할 수 없습니다. 이미 양식이 있습니다. 확인란을 올바르게 선택했는데 다른 사람을 선택하지 않은 상태로 두십시오. thanks again ciao h. – haltman

0

Thaks 당신의 도움이 내가 솔루션을 가지고! 내 작업 스크립트의

: 당신이 제안이 있다면

var forma=$("form"); 
       var elements=$("*", forma); 
       $.each(elements,function(i){ 
        var id = $(elements[i]).attr("id"); 
        var tipo = $(elements[i]).attr("type"); 
        var nome=$(elements[i]).attr("name"); 
        var val=$(elements[i]).attr("value"); 
        switch (tipo) 
        { 
         case "text" : 
          $(elements[i]).val($(id, xml).text()); 
         break; 
         case "radio": 
          $("input:radio[name='"+nome+"'][value='"+ $(nome, xml).text() +"']").attr('checked', true); 
         break; 
         case "checkbox": 
          $(xml).find(nome).each(function(){ 
          var value =$(this).text(); 
          if (val==value) 
          { 
            $("#"+id).attr("checked", value);         } 
          }); 

         break; 
         case "select-one" : 
          $(elements[i]).append("<option selected>"+$(nome ,xml).text()+"</option>"); 
         break; 
        } 

        $("#scheda_ris").append(id+" "+tipo+" "+nome+" "+val+"<br>"); //that's just for debug 
       }); 

내가 다시 한번 감사

챠오 시간 정말 행복 할 것입니다 좀 더 우아한 확인합니다.

관련 문제