select와 함께 작업하고 있습니다. 사용자가 값을 선택하면 트리거하고 이벤트를 원합니다.Jquery select events
"change"이벤트를 사용하고 있는데, 사용자가 선택을 열었지만 선택한 동일한 옵션을 선택하면 트리거가 실행되지 않습니다.
옵션이 선택한 것과 동일한 경우 사용자가 옵션을 개별적으로 선택하면 이벤트를 캡처하는 방법이 있습니까?
감사합니다.
select와 함께 작업하고 있습니다. 사용자가 값을 선택하면 트리거하고 이벤트를 원합니다.Jquery select events
"change"이벤트를 사용하고 있는데, 사용자가 선택을 열었지만 선택한 동일한 옵션을 선택하면 트리거가 실행되지 않습니다.
옵션이 선택한 것과 동일한 경우 사용자가 옵션을 개별적으로 선택하면 이벤트를 캡처하는 방법이 있습니까?
감사합니다.
나는 이런 크로스 브라우저 솔루션하지만 뭔가인지 확실하지 않다 : 오페라/파이어 폭스에서 잘
$("#mySelect option").click(function() {
// do sth
});
작품.
필요한 옵션은 변경하는 대신 "클릭"하는 것입니다.
이 옵션을 선택하면 곧바로 이벤트가 실행되므로 예상대로 작동하지 않습니다. 따라서 코드에서 사용자 선택을 사용하려는 경우 오도 된 수 있습니다. – ryanulit
bind 메소드를 사용하여 change 및 click 이벤트를 포착 할 수 있습니다. 이것은 내가이 필요한 것입니다 확실하지 않다 대부분의 키보드와 마우스 상호 작용
$('selector').bind('click change',function() {})
변경 사항을 입력하면 옵션을 보려면 선택을 클릭하면 해고됩니다. – Patxi1980
키 업과 마우스 아웃은 어떨까요? 곰이 말한 것처럼 왜 값이 변경되지 않은 경우 이벤트를 다시 실행해야합니까? –
Patxi는 말할 수 없지만 애플리케이션에서는 맨 위 선택에서 옵션을 선택하면 해당 값이 페이지의 다른 선택 항목에 전파됩니다.그 반대의 경우는 사실이 아닙니다 (다른 곳의 옵션을 선택하면 선택 항목의 선택된 값이 변경되지 않습니다). 사용자가 상위 선택을 '1'로 변경 한 다음 다른 옵션 중 일부를 '2'로 변경하면 실제로 모두 '1'이되기를 원한다고 결정하고, 페이지 상단에서 "1"(이미 선택된 옵션)을 선택하십시오. – Weezle
$('#selectID').change(function(){
if($(this).val() == "week"){
//trigger here
}
});
<select id="selectID">
<option>week</option>
</select>
을 잡을 수 있도록해야합니다. 다음은 해답이 아니라 트릭입니다.
제 경우에는 선택 상자의 값을 변경 한 후 값을 변경합니다.
$("selector").on('change', function() {
var selectedValue = $(this).val().trim();
if (selectedValue == 'EXPECTED_VALUE') {
//do somethings
}
//change the value, so next time when you choose same option
//again the change event can be trigger
$(this).val('OTHER_VALUE');
}
OTHER_VALUE은 (는) 추가 공간이있는 EXPECTED_VALUE 일 수 있습니다. 예 : EXPECTED_VALUE = 'foo', OTHER_VALUE = 'foo'. 그래서 당신은
var selectedValue = $(this).val().trim();
난 그냥 언급 할
에 의해 selectedValue을받을 때 같은 값을 얻을하지만 난 충분하지 않은 평판을 가지고 : D
왜 당신은 선택이 변경되지 않는 경우 이벤트 불을 다시 하시겠습니까? –