다른 보관 용 계정의 선택에 따라 Jquery로 Ajax를 통해 동적으로 생성 된 보관 용 계정에서 Option 값을 가져 오려고했지만 지금까지는 성공하지 못했습니다.
내가 가진 구조는 다음과 같습니다.
HTML 보관 용 계정 1 :
<select id="slt1">
<option value="" selected>Select</option>
<?php foreach($prozess as $p): ?>
<option value="<?php echo $p->Id; ?>"><?php echo $p->Name; ?></option>
<?php endforeach; ?>
</select>
보관 용 계정 2 :
<select id="slt2"></select>
보관 용 계정 1의 선택과 관련하여 보관 용 계정 2의 결과가됩니다.
Ajax Jquery는 다음과 같습니다.
$.ajax({
data: { id_prozess : $(#slt1).val() },
url: 'page.php',
type: 'POST',
dataType: 'json',
success: function (r) {
$(#slt1).prop('disabled', false);
$(#slt2).find('option').remove();
$(r).each(function(i, v){ // indice, valor
$(#slt2).append('<option value="' + v.id + '">' + v.Name + '</option>');
})
},
error: function(){
alert('Ocurrio un error en el servidor ..');
}
});
Dropbox 2에서 선택한 항목의 값을 얻으려고 할 때 두통이 시작됩니다. 이것이 내가 시도한 방법입니다.
$(#slt2).on( "change", function() {
alert( $("#slt2").val() );
});
그러나 지금까지 같은 대답 : UNDEFINED
누군가 내 두통을 도울 수 있습니까?
다른 답변에서 지적했듯이 jQuery 선택에 오타 가 있습니다. 또는으로 $(#slt2)
래핑되지 않았기 때문에 문제가 발생할 수 있습니다.''
""
또한 change
이벤트 를 바인딩하기 위해 코드를 실행하는 위치를 알려주지 않습니다 .
드롭 다운이 생성되기 전에 실행중인 경우 현재 존재하지 않는 요소를 참조하는 것입니다. 코드가 실행될 때 존재하는 개체에 바인딩하여 이벤트를 바인딩 할 수 있지만 원하는 개체에 연결할 수 있습니다. 3 초 후에 드롭 다운을 만들고 추가하고 이전에 실행 된 바인딩을 사용하는 아래의 바이올린을 참조하세요.
$('body').on('change', '#slt2', myFunction);
setTimeout(function() {
var optionList = ["Volvo", "Saab", "BMW"];
var dropdown = $("<select></select>").attr("id", "slt2");
$.each(optionList, function(i, el) {
dropdown.append("<option>" + el + "</option>");
});
$("#dropdown-container").append(dropdown);
}, 3000);
function myFunction() {
alert($(this).val());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dropdown-container">
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다