2013-04-10 6 views
0

클릭 한 버튼에서 ID를 확인하는 방법을 알아 내려했지만 아직 입력 집합에는 존재하지 않습니다. 버튼에서 ID를 가져옵니다입력 값과 단일 값 비교

코드는 사람이있는 경우 ID를 확인

$(".detail-view button").on("click", function() { 
     var detailID = $(this).attr('id'); 

코드,

function itemExists() { 
    $("input#lunchorder_item_entry_id").each(function() { 
     existingID = $(this).val(); 

     if(detailID == existingID) { 
      alert("You have already added this item. If you want to change item details, please remove the item and re-add it to your cart. Thank You!"); 
     } else { 

     } 
    }); 
} 

나는이 만 시간의 일부를 작동하는 데 문제가 존재하지 않는 클릭 이렇게하는 더 좋은 방법에 대한 제안 이것은 이것이 내 목표를 달성하는 최선의 방법이 아니라고 확신합니다. 고맙습니다!

+2

처럼 보일 것이다 전체. 'itemExists' 함수의 컨텍스트에서, – undefined

+0

'$ (this) .attr ('id');를'this.id'로 변경합니다. 이렇게하면 jQuery 객체로 변환 할 'this'를 저장하고 또 하나의 함수에 의해 접근하는 대신에 직접'id' 속성에 접근하십시오 .. – fernandosavio

+0

좋아요, 함수'itemExists'는 클릭 할 때의 내 함수 내에 있다는 것을 언급해야합니다. – philecker

답변

0

detailIDitemExists() 함수에서 볼 수 없으므로 전역으로 설정하거나 함수에 전달하십시오.

itemExists(detailID){ 
    // if(detailID == existingID) { 
} 

이 범위의 문제,`detailID` 코드에서 전역 변수없는이 있습니다이

$(".detail-view button").on("click", function() { 
     var detailID = $(this).attr('id'); 
     itemExists(detailID); 
}); 
function itemExists(detailID) { 
    $("input#lunchorder_item_entry_id").each(function() { 
      var existingID = $(this).val(); 
      if(detailID == existingID) { 
       alert("You have already added this item. If you want to change item details, please remove the item and re-add it to your cart. Thank You!"); 
      } else { 

      } 
    }); 
} 
+0

아직 다른 사람을 해고 할 수 있기 때문에 그건 내 문제를 해결하지 못합니다. 실제로 필요한 것은 각 값을 입력하고 배열과 비교하는 것입니다. – philecker