Я пытаюсь заполнить форму jquery данными из XML, где XML имеет идентификатор, который будет заполнять раскрывающийся список в форме и после выбора идентификатора других полей формы будет заполнен. Кстати, я не буду использовать PHPзаполнить форму jquery из XML
Мой XML
<XMLReview>
<plan>
<planNumber>773</planNumber>
<Area>Upper Missouri</Area>
<ID>MISSOURI-NUT</ID>
<Name>Missouri River</Name>
<code>10030101</code>
<County>Broadwater</County>
<Station_ID>M09MISSR05</Station_ID>
</plan>
<plan>
<planNumber>774</planNumber>
<Area>Columbia</Area>
<ID>FLAT-STILL-TPA-2013</ID>
<Name>Sheppard Creek</Name>
<Description>- 3A</Description>
<code>17010210</code>
<County>Flathead</County>
<Station_ID>C09SHEPC04</Station_ID>
</plan>
</XMLReview>
HTML-
<form>
<input type="button" id="btnxml" value="XML" onclick="getXML()" />
ID <input type="text" name="ID" id="ID">
planNumber<input type="text" name="Name" id="planNumber">
area<input type="text" name="Area" id="Area">
Name: <input type="text" name="Name" id="Name">
Description: <input type="text" name="Description" id="Description">
Station ID <input type="text" name="Station_ID" id="Station_ID">
<label class="Code-label" for="code">HUC</label>
<select class="select_code" id="code" name="code" data-iconpos="left" data-icon="grid">
<option></option>
<option> 10010001</option>
<option> 10010002</option>
<option> 10020001</option>
</select>
<label class="county-label" for="County">County</label>
<select class="select_county" id="County" name="County" data-iconpos="left" data-icon="grid">
<option></option>
<option> Beaverhead </option>
<option> Big Horn </option>
<option> Blaine </option>
</select>
</form>
Сценарий
<script>
function getXML()
{
$.get("XMLReview.xml", function(data) {
$.ajax({
type: "GET",
url: "XMLReview.xml",
dataType: "xml",
success: function (xml) {
var select = $('#ID');
$(xml).find('plan').each(function() {
var ID = $(this).find('ID').text();
select.append("<option>" + ID + "</option>");
$("#ID").change(function() {
var selectedIndex = $('#ID option').index($('#ID option:selected'));
var newOpt = $(xml).find("values").eq(selectedIndex).find('value').each(function() {
var value = $(this).text();
});
});
}
});
alert(data);});
}
</script>
Unfortunataly это не работает, и я не знаю, почему , Может кто-нибудь мне помочь, пожалуйста
Вы понимаете, что элемент с ID '# ID' является обычным текстовым вводом, который не может иметь никаких параметров? – adeneo
Вам не хватает ');' после закрывающей скобки этой строки: '$ (xml) .find ('plan'). Each (function() {' Исправление этого не полностью решает ваш вопрос, хотя, m, работающий на JSFiddle, который показывает вам все, что вам нужно для адресации –
Ваш XML не содержит ни одного узла с именем 'value' –