2013-02-26 52 views
1

我只是學習jQuery和我已經能夠得到以下的代碼工作:如何將內容追加到輸入元素?

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" charset="utf-8"></script> 
</head> 
<body> 
    <header> 
     <h1></h1> 
    </header> 
    <form name="myForm" method="GET" action=""> 
Text Field Populated With XML Value.</br> 
<input type="text" id="text1" name="text1" /> 
     </br></br> 
Dropdown Populated With XML Data.</br> 
     <select id="cdLDAP"> 
     <option/> 
     </select> 
    </form> 
    </div> 
    <script type="text/javascript"> 

    // variables declaration 
    var XML_PATH = "XML/ou.xml"; 
    // load XML file 
    $(function() { 
     $.ajax({ 
     type: "GET", 
     url: XML_PATH, 
     dataType: "xml", 
     success: function(xml) { 
      $(xml).find('LDAP').find('OU').each(function(i) { 
      var ou = $(this).text(); 
      $('#cdLDAP').append("<option class='ddheader'>"+ou+"</option>"); 
      }); 
      $(this).find('Name').each(function() { 
      var name = $(this).text(); 
      $('#cdLDAP').append("<option class='ddindent' value='"+ name +"'>"+name+"</option>"); 
      }); 
     } 
     }); 
    });  
    </script> 
</body>  
</html> 

這個偉大的工程;它能夠閱讀以下XML:

<?xml version= "1.0" encoding="UTF-8"?> 
<DropDown> 
    <LDAP> 
     <OU>1</OU> 
     <OU>2</OU> 
     <OU>3</OU> 
     <OU>4</OU> 
     <OU>5</OU> 
     <OU>6</OU> 
     <OU>7</OU> 
    </LDAP> 
</DropDown> 

而且它在下拉cdLDAP沒有問題顯示值1,2,3,4,5,6,7。

到目前爲止這麼好。

在這種情況下,我有被填充一個簡單的文本文件的問題...:

<input type="text" id="text1" name="text1" /> 

說我只是想從XML文件中的第一個值,即「1」:

 <OU>1</OU> 

要顯示在HTML5表單上的文本字段中。我怎麼做?我試過的東西似乎沒有用。我覺得我越來越迷茫與.each一部分,如.each(function(i),也把什麼

$('#text1').append(

回答

1

投入要素的其他HTML元素的表現略有不同。不需要將值插入到HTML中,您需要修改元素的value屬性。

這可以使用jQuery來完成:

$('#text1').val(...) 

或者只是普通的老DOM屬性重新分配:

$('#text1')[0].value = ... 
0

如果你想找的#text1value設置爲第一OU值,那麼你可以使用.index()方法來確定哪個:eq存在。只要記住,.index()0 based values,所以我們要尋找$('OU:eq(0)')

$(xml).find('LDAP').find('OU').each(function(i) { 
    var ou = $(this).text(); 
    if($(this).index()==0){ 
     $('#text1').val(ou) 
    } 
    $('#cdLDAP').append("<option class='ddheader'>"+ou+"</option>"); 
}); 

或者你可以使用:

success: function(xml) { 
    $('#text1').val($(xml).find('LDAP').find('OU:eq(0)').text()) 
    // rest of code 
}