이 다음 코드의 최신 버전에서 작동하지 않지만, jQuery를 최신 버전으로 작동하지 않습니다해서 getJSON 잘 jQuery1.2.3를 사용하여 작동 jQuery를
$.getJSON(url,{str: $$.val() }, function(j){
if (j.length > 0) {
var options = '<option value="">' +params.firstOption+ '</option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
}
$dest.removeAttr('disabled')
.html(options)
.find('option:first')
.attr('selected', 'selected');
});
이 위의 코드가 있습니다 실제로 계단식 드롭 다운 목록에 대한 jQuery 플러그인의 일부입니다. jQuery1.2.3을 사용하면 원하는 결과를 얻을 수 있습니다. 다음과 같이 전체 플러그인 코드는 다음과 같습니다
(function($){
$.fn.linkedSelect = function(url,destination,params) {
var params = $.extend({
firstOption : 'Please Select',
loadingText : 'Loading...'
},params);
var $dest = $(destination);
return this.each(function(){
$(this).bind('change', function() {
var $$ = $(this);
$dest.attr('disabled','false')
.append('<option value="">' +params.loadingText+ '</option>')
.ajaxStart(function(){
$$.show();
});
$.getJSON(url,{str: $$.val() }, function(j){
alert('User clicked on this.');
if (j.length > 0) {
var options = '<option value="">' +params.firstOption+ '</option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
}
$dest.removeAttr('disabled')
.html(options)
.find('option:first')
.attr('selected', 'selected');
}); // end getJSON
}); // end change
}); // end return each
}; // end function
})(jQuery);
그것은 다음과 같은 경고 메시지를 생성 할 수 있습니다 내가의 최신 버전을 사용하는 경우 디버깅 목적을 위해해서 getJSON 함수 내부에 기록 된 것을
alert('User clicked on this.');
jQuery. 또한 jQuery의 최신 버전을 사용하는 경우 JS 디버거를 사용하여 추적하고 getJSON 함수로 이동할 수 없습니다. 그러나 jQuery1.2.3을 사용하면이 경고 메시지가 표시됩니다.
오류 콘솔에서 경고 메시지는 다음과 같습니다
Warning: reference to undefined property b.p.height
Source File: http://localhost//js/jquery.jqGrid.min.js Line: 99
Warning: reference to undefined property b.p.serializeGridData
Source File: http://localhost/js/jquery.jqGrid.min.js Line: 62
Warning: reference to undefined property jQuery.event.triggered
Source File: http://localhost/js/jquery1.7.js Line: 2924
Warning: reference to undefined property elem[jQuery.expando]
Source File: http://localhost/js/jquery1.7.js Line: 1719
내가 jQuery를 최신 버전으로 적응하기 위해 무엇을 변경해야합니다. 고맙습니다.
스택 오버플로에 오신 것을 환영합니다! "작동하지 않는다"는 결코 좋은 에러 설명이 아니다. 무엇이 잘못되었는지, 어떤 오류 메시지가 나옵니까, 등등을 설명하십시오. –
어디서 오류가 발생합니까? 코드에 console.log를 추가하여 사용하려는 jquery의 최신 버전을 정확히 찾을 수 있으며 어떻게로드 했습니까? – alonisser
어떻게 작동하지 않는지, 테스트 케이스가 무엇인지 자세히 설명해 주시겠습니까? 정확히 동일한 코드에서 똑같은 입력을 테스트하고 있으며, 유일한 차이점은 jQuery 버전입니다. 맞습니까? –