2011-01-10 13 views
2

이것은 기괴한 요청입니다. 내 페이지에는 이전 프로젝트 번호와 새 프로젝트 번호에 대한 두 개의 선택 요소가 있습니다. PHP를 사용하여 mysql db에서 드롭 다운을 채 웁니다. 또한 다른 페이지에서 사람들이 클릭하는 하이퍼 링크에서 들어오는 프로젝트 번호를 보유 할 GET 변수를 설정했습니다. 하지만 jQuery/PHP를 사용하여 수신 프로젝트 번호를 가져 와서 드롭 다운 중 하나에 있는지 확인하고 싶습니다. 당신은 값을 option 노드를 통해 interate과 비교해야jquery/PHP가있는 select 요소에 항목이 있는지 확인하십시오.

<?php echo $_GET['project_no']; ?> 
+0

드롭 다운으로, 실제로 ['select'] (http://www.w3.org/TR/html401/interact/forms.html#h-17.6) 요소를 의미합니까? –

+0

네, 죄송합니다. (사과) – benhowdle89

+0

아무 문제가 없지만 다른 사람들이 사용하는 이름을 사용하여 질문을 편집하고 싶을 수도 있습니다. = b –

답변

1

당신은 PHP와 자바 스크립트 변수를 지정할 수 있습니다 : jQuery를에, 다음

var projectNumber = "12345"; // or whatever value 'project_no' might contain 

: 그리고 분명히

$('select > option:contains(' + projectNumber + ')').attr('selected',true); 

이에 렌더링

<?php 
/*... other php */ 
echo 'var projectNumber = "' . $_GET['project_no'] . '";'; 
/*... other php */ 
?> 

, 값을 선택합니다. 그래도 마찬가지로 일종의 if 문을 쉽게 사용할 수 있습니다. 발견 된 값에 따라 원하는 결과에 따라 다릅니다. 이 텍스트, 앞의 예에서 보이지 않는하지만


:contains()로, 약간 더 분명 attribute equals selector을 약간 더 의미가 다음 선택기를 추가 할을 편집하고, 사용하지 :

여기
$('select > option[value=' + projectNumber + ']').attr('selected',true); 
+0

매우 똑똑합니다 - – benhowdle89

+0

왜, 친절하게 감사드립니다! =) –

1

:

는 GET 코드입니다.

function lookup(check, cb) { 
    $('#somedropdown').find('option').each(function(index, elem) { 
     if(elem.value === check) { 
      cb(); 
      return false; 
     } 
    }); 
} 

$.ajax({ 
    // ... 
    success: function(data) { 
     lookup(data.project_name_for_instance, function() { 
       // match 
     }); 
    }, 
    // ... 
}); 
1

보기 온라인 데모 :http://jsfiddle.net/APXGv/

//jQuery sweetness 
if($("#dropdown option[value='<?php echo $_GET['project_no']; ?>'").size()){ 
    alert("exists"); 
    //your code here... 
} 
+0

다시 매우 영리합니다. 감사합니다. – benhowdle89

관련 문제