2012-05-15 3 views
0

옵션을 선택했는지 확인하기 위해 작은 코드를 추가하고 싶습니다. 대개 페이지가 html 인 경우 쉽게 처리 할 수 ​​있습니다. 이제 코드 스 니프는 다음과 같이 보입니다.옵션을 선택하지 않은 경우 jquery를 지정합니다.

echo "<td>Language</td>"; 
echo "<td><select id='language' name='language'> 
      <option value=''>Select...</option> 
      <option value='en_US'>English(US)</option> 
      <option value='en_AU'>English(AU)</option> 
      <option value='en_UK'>English(UK)</option> 
      </select><span id="info"></span> 
     </td>"; 

는 HTML

<script> 
    $('#language').change() 
    { 
    if('Select...'==$('#language').text()) 
    { 
     $('#info').html("Please select a value..."); 
    } 
    } 
</script> 

경우 [UPDATE]

싶습니다

추가 할 HTML 코드를 생성하는 데 사용되는 위의 PHP 소스 코드는 폼 태그에 넣어되는 페이지 checkdb.php 데이터베이스를 업데이트하기 위해 게시 된 데이터를 사용

echo "<form action='checkdb.php' method='POST'> 
    // all above and more 
    </form>" 

입니다.

jQuery 코드 조각을 현재 파일 (HTML 코드가있는 파일 생성 중)에서 언급 한대로 어떻게 추가 할 수 있습니까? 나는 사람들이 한때 자바 스크립트가 PHP 실행의 중간에 호출 될 수 없다고 말했고, 나는 아약스 함수를 사용할 필요가 있을지 궁금해했다. 도움을주세요. 고맙습니다.

+1

무엇이 작동하지 않는가 –

+0

ajsfiddle – Norse

답변

1
// Listen, and respond to, the change even on our select 
$("#language").on("change", function(e){ 
    // Set the html content of our info element 
    $("#info").html(function(){ 
    // If the selected option has no value, ask to select a value 
    return e.target.value === "" ? "Please select a value." : "" ; 
    }); 
// Trigger upon page load 
}).trigger("change"); 

데모 : http://jsbin.com/owaqaz/2/edit

참고 마지막 줄, $.trigger("change") -이 선택 요소가 현재 값이없는 경우 페이지가 즉시 #info 요소를 채울하게됩니다.

0

죄송 합니다만 귀하의 질문은 무엇입니까? PHP 페이지는 처리 후 HTML 페이지로 바뀌므로 (사용자가 PHP 소스 코드를 전혀 보지 못함) JavaScript를 사용하여 쉽게 값을 확인할 수 있습니다.

+0

고마워하지만 html 소스는 PHP 코드에 의해 생성되고 모든 것이 PHP에서 이루어 지므로 나중에 html 소스가 표시 될 때 다시 데이터베이스 테이블을 처리해야합니다. 출처. – solomon

1

변경하여 jQuery를에 :

$('#language').change(function() { 
    if ('Select...' == $('#language option:selected').text()) { 
     $('#info').html("Please select a value..."); 
    } 
});​ 

jsFiddle example.

업데이트 : 또는 더 간단한 버전 :

jQuery를 :

$('#language').change(function() { 
    $('#info').html(('Select...' == $('#language option:selected').text()) ? "Please select a value...":""); 
});​ 

jsFiddle example.

+0

또는 값을 사용하는 클리너 대체 방법 : if ($ ('# language') .val() == ')) ...' – bfavaretto

+0

@bfavaretto 그가 텍스트가 아니라 값을 찾고 있다면 –

+0

@bfavaretto - 그 "선택 ..."옵션에 공백 값이 있기 때문에 작동하지 않습니다. 물론, 영업 이익은 하나를 추가 할 수 있지만 문제는 약자로 실패합니다. – j08691

관련 문제