2012-11-27 3 views
0

도움이 필요합니다.Jquery function .change()

나는 jQuery로 onchange를 캡처 이벤트에 대한 내 JSP에서이 코드가 있습니다.

jQ("#idExp").change(function() { 
     onchangeExp(); 
    }); 

function onchangeExp(){ 
    alert("onchangeExp"); 
    if(jQ("#idExp").val()!="-1"){ 
     recuperarDatosAF(); 
    }else{ 
     jQ("#comboAF").attr('disabled',true); 
     jQ("#comboAF").val("-1"); 
    } 
} 

나는이 아 파크 콤보를 채우기 : 난의

jQ("#idExp").html(""); 
jQ("#idExp").append("<option value='-1'>"+""+"</option>"); 
jQ.each(expedientes, function(i,value){ 
    jQ("#idExp").append("<option value='"+i+"'>"+value.codExpediente+" </option>"); 
}); 

값은 [0, 1, 2 ..]

문제는 그 전에서 빈 옵션을 선택하면 '-1'값으로 콤보를 실행하면 onchange 함수가 실행되지 않지만 대신 콤보에서 다른 옵션을 선택하면 실행중인 onchange 함수가 실행됩니다.

콤보 옵션의 음수 값을 입력 할 수 없습니까?

도움 주셔서 감사합니다. 선택 상자의 값을 변경하지 않고 변경 이벤트가 트리거되지 않도록

+0

변경 이벤트가 호출되지 않습니다 , 즉 value = '- 1'옵션이 이미 선택되어 있고 그 이벤트를 선택하면 이벤트가 실행되지 않습니다. – yogi

+0

난 당신이 무슨 뜻인지 모르겠어요,이 노력하고 있습니다 : http://jsfiddle.net/GRwct/ – Ian

+0

THK 랜, 내가 콤보이 방법을 작성, 당신과 함께 – user1821460

답변

1

당신의 선택 상자의 기본값은 첫 번째 옵션의 값입니다.

+0

로 고정, 난 첫 번째 옵션 인 경우 기본값이 -1임을 이해하십시오. 내가 틀렸다? –

+0

편집 후 동의 .prepend – user1821460

0

는 같은 값으로 실제 정수를 추가하려고 귀하의 옵션을 추가 할 때 당신은 변경 이벤트를 트리거 할 수 있습니다

jQ(function() { 
    var j = jQ('#idExp'); 
    j.append(jQ('<option/>').attr('value', -1)); 
    j.change(function() { 
     if(j.val() == -1) { 
      jQ("#comboAF") 
       .attr('disabled',true) 
       .val("-1"); 
     } 
     else { 
      recuperarDatosAF(); 
     } 
    }).trigger('change'); 
}); 
+0

왜 -1일까요? 그것은 나를 위해 일한다! 너의 가득 차있는 html을 배치 하십시요! – silly

0

이 : 당신이 이미 선택 옵션을 선택하면

jQ("#idExp").append("<option value='-1'>"+""+"</option>").change();