#javascript #jquery #select #onchange #appendto
#javascript #jquery #выберите #onchange #appendto
Вопрос:
Я новичок в jQuery и пытался создать динамическое выпадающее меню с помощью select. Однако я не могу использовать onChange в appendTo. Есть предложения?
<script>
$(function() {
var addDiv = $('#content');
var n = 1;
jq144('#add_match').live('click', function() {
$('<p ><select onchange = "showUser(this.value, "select_team_' (n) '")" name="select_team_' (n) '" id="select_team_' (n) '"><option value = "">Team 1</option><option value = "a">A</option> <option value = "b">B</option><option value = "c">C</option></select> </p>').appendTo(addDiv);
n;
});
});
</script>
Я также пытался использовать on(), но не могу передать ему параметры.
Вот showUser:
<script>
function showUser(str, select_name) {
var num = parseInt(select_name.substr(select_name.length - 1));
alert(num 1);
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 amp;amp; xmlhttp.status==200) {
$("select[id='select_team_" (num 1) "']").html(xmlhttp.responseText).selectmenu( "refresh");
}
}
xmlhttp.open("GET","getplayers.php?q=" str.value,true);
xmlhttp.send();
}
</script>
Наконец-то я смог решить проблему с помощью .on() .
Комментарии:
1. Если у вас уже есть jQuery, вам следует воспользоваться
$.GET
Ответ №1:
Попробуйте заменить ваш щелчок на это:
jq144('#add_match').live('click', function() {
$('<p ><select onchange ="showUser(this.value, select_team_"' (n) '") name="select_team_' (n) '" id="select_team_' (n) '"><option value = "">Team 1</option><option value = "a">A</option> <option value = "b">B</option><option value = "c">C</option></select> </p>').appendTo(addDiv);
n;
});
Это может вам помочь. В определении вашей функции onchange есть несколько недопустимых кавычек, закрывающих строку.
Комментарии:
1. Спасибо за ваш ответ. В конце концов я решил это с помощью .on()