다음 코드가 발생했습니다. 모든 것이 잘 작동하는 것처럼 보입니다. 그러나 몇 번이나, 확인 및 경고 알림이 여러 번 나타나고 지나치게 귀찮아지는 경우가 있습니다. 다음 코드에 문제가 있습니까? 어떤 조언을 주셔서 감사합니다.이 jquery 문에 문제가 있습니까?
$('.order_stateselect').hover(function(){
var value_text=$(this).find(":selected").text();
var value_code=$(this).find(":selected").val();
$(this).change(function(){
if(confirm('Confirm Order Status Change?')){
var conduct_status_chge=$.post('/seller/helpers/order_status_change.php',{order_item_id:$(this).parent('td').siblings('.order_item_id').text(),order_item_status:$(this).find(':selected').val()},function(data){
alert(data);
})
.error(function() {
$(this).find(':selected').removeAttr('selected');
$(this).find('option:contains(value_code)').attr('selected','selected');
alert('error');
});
}else{
$(this).find(':selected').removeAttr('selected');
$(this).find('option:contains(value_code)').attr('selected','selected');
}
});
});
여기에서 내가하는 일에 대한 간략한 설명.
여러 옵션이있는 선택 상자입니다. 이 선택 상자는 항목 목록의 표 셀의 일부입니다.
즉 : 각 행에 항목이 있고 각 행에 대해 해당 특정 행 전용의 선택 상자가 있음을 의미합니다.
1) 마우스를 가져 가면 페이지가로드 될 때 데이터베이스 값을 통해로드 된 선택한 옵션의 값이 표시됩니다.
2) 사용자가 선택 상자에서 다른 값을 선택하고 선택을 확인하면 $ .post를 수행합니다.
3) 사용자가 취소 키를 누르거나 $ .post가 실패하는 스크립트 호출에 오류가있는 경우 선택한 옵션을 데이터베이스의 원래 값으로 되돌립니다.
설명이 불분명하지만 미안하지만 더 이상 정보가 필요하면 알려 주시기 바랍니다. 감사.
을 나는 문제는 당신이 '가져가'여러 번 '.order_stateselect'에 이벤트를 할당하는 것이라고 생각합니다. 그리고 왜 '호버'가 필요할까요? 'change'이벤트에 모든 코드를 넣으십시오. – NikitaBaksalyar