Я использовал $.get
и получил такие данные, как
'<option value=\"US-ID\" >Idaho<\/option>\n <option value=\"US-IL\" >Illinois<\/option>\n <option value=\"US-IN\" >Indiana<\/option>\n <option value=\"US-KS\" >Kansas<\/option>\n'
Я хочу использовать $(...).html(html_data)
как мне сделать данные, которые я получаю в html-данные, которые я могу использовать?
что я получаю, когда $(...).html(data)
Не знаю, имеет ли это значение, но console.log(data)
:
'...data...'
тогда как console.log('regular_string')
:
regular_string
//без кавычек
Что не так:
var html_data = '<option value=\"US-ID\" >Idaho<\/option>\n <option value=\"US-IL\" >Illinois<\/option>\n <option value=\"US-IN\" >Indiana<\/option>\n <option value=\"US-KS\" >Kansas<\/option>\n';
$('#select_element_id').html(html_data);
После редактирования:
Извините, не строка, которую вы получили, тот, который вы написали сверху? В jsFiddle у вас нет JS-кода, просто текст в теге select
- это не то, что вы говорите в вопросе.
html()
в jQuery позаботится о десериализации строки для вас.
Предположим, вы схватили html из вызова ajax и хотите добавить его в тело.
$newSelect = $("<select></select>").html(html_data);
$(document.body).append($newSelect);
http://api.jquery.com/jQuery/#jQuery2 - Создает элементы DOM на лету из предоставленной строки необработанного HTML.