2013-05-04 1 views
0
<select id="countryselect" name="country> 
    <option value="US">United States</option> 
    . 
    . 
</select> 

<select id="cityselect" name="city"></select> 
이 HTML 코드

JQuery와 빈 옵션

$.cityselect = function(){ 
    var td= $('#countryselect').val(); 
    $.ajax({ 
     type: "POST", 
     url: "action.php", 
     data: {'countrytd':td}, 
     success: function(e){ 
      $('#cityselect').html(e); 
     }, 
    }); 
}; 

이 내 체인 선택 기능을 사용하지 않도록 설정하는 방법을 선택 상자를 체인. mysql 프로세스는 action.php에서 옵션을 생성합니다. 여기

내가이 기능을 사용하면, 결과는 내가 그 정보를 필요로하기 때문에 빈 값을 원하는 내가 그나마

<select id="cityselect" name="city"> 
    <option value></option> // empty value 
    <option value="1">New York</option> 
    <option value="2">Broadway</option> 
</select> 

즉, 일이다. 아무 데나 쓴 빈 값이 없습니다. 나는 어쨌든 상단으로 빈 값을 추가이

$('#cityselect').html('<option value="1">name</option>'); 

$('#cityselect').html(e); 

을 변경하는 경우 때문에 PHP 파일에 문제가 없습니다.

어떻게 그 프로세스를 비활성화 할 수 있습니까? 또는 어떻게 작동 후에 공백 값을 제거 할 수 있습니까?

또한 성공에서 오는 'e'를 사용할 때 action.php에서 언어 문자 세트에 사용하는 메타 태그와 다른 머리 요소가 포함됩니다. 어떻게 청소할 수 있습니까?

언급 @roasted으로
+0

을 수 관련 html 코드도 게시 하시겠습니까? –

+0

jsfiddle.net에서 문제를 재현하는 데모를 만듭니다. '자동으로 공백 옵션을 맨 위에 추가하고 그것을 선택되도록합니다 – charlietfl

답변

0

, 완전히 코드없이이 문제를 파악하기 어렵지만,이 당신을 위해 문제의 적어도 일부를 해결해야합니다

첫째, 메모 : jQuery를 1.8 success 콜백 방법으로 사용되지 않습니다 :

jqXHR.success(), jqXHR.error() 및 jqXHR.complete() 콜백 jQuery를 1.8로 사용되지 않습니다. 최종 제거를위한 코드를 준비하려면 대신 jqXHR.done(), jqXHR.fail() 및 jqXHR.always()를 사용하십시오.

다음은 몇 가지 문제에 대한 해결책입니다. SQL 쿼리에서 빈 값을 얻는 경우 쿼리, 데이터베이스 또는 둘 다에 문제가있을 수 있으므로 모든 솔루션에 대한 해결책은 아닙니다. 그러나,이 문제의 프런트 엔드 부분에 '솔루션'을 제공 할 것입니다 -> (이것은 당신의 PHP 파일이 <select> 요소에 대한 관련 <option> 요소를 기반으로 가정에 입각) :

$.cityselect = function(){ 
var td= $('#countryselect').val(); 
$.ajax({ 
    type: "POST", 
    url: "action.php", 
    data: {'countrytd':td}, 
     }).done(function(data){ 
     // better not to use 'e' for this variable (can be confusing) 

     if($(data).html().replace(/\s/g,'').length){ 
     //There are a number of ways to check this 
     //(depends on what you are expecting). 
     // The example I used will also catch blank spaces 

       $('#cityselect').html(data); 
      } 
    }) 
};