2013-11-22 4 views
0

드롭 다운 :사용하여 자바 스크립트 내가 선택하면 화재 자바 스크립트 코드가 (URL)

$(document).ready(function(){ 
    $("#first-choice").change(function() { 
     $("#second-choice").load("getter.php?choice=" + $("select#first-choice").filter(":selected").val()); 
    }); 
}); 

나는 내가 getter.php 확장을 만들 때 문제가있다 생각 ... 어느 SQL에서 선택을 사용합니다. 선택은 getter.php에서 다음과 같이 정의됩니다.

$choice = $_GET['choice']; 
$sth = $db->prepare("SELECT name, code FROM sets WHERE name='$choice'"); 
$sth->execute(); 
$choicecode = $sth->fetchColumn(1); 

JavaScript 변경이 발생하면 빈 드롭 다운이 표시됩니다. 따라서 Choice를 $ _GET 대신 첫 번째 선택 옵션으로 설정하고 두 번째 목록을 올바르게 채 웁니다. 그래서 나는 내 오류가 내 첫 번째 선택을 정의하여 내 js에서 온다고 가정합니다.

+0

그게'getter.php'입니까? 새 선택을 어디에 렌더링합니까? 이 파일에서 출력이 전혀없는 것 같습니다. –

+0

@MatthewRapati 아니, 거기에 렌더링을위한 더 있지만, 나는 $ _get 대신에 알려진 값으로 "선택"의 값을 변경하고 괜찮 았어, 내가 말했듯이 오류가 getter.php에 있지 않다는 것을 100 % 확신한다. – rambossa

답변

1

당신이 옵션의 값 속성의 값을 입력했는지 확인

$("#first-choice").change(function() { 
    $("#second-choice").load("getter.php?choice=" + $(this).val(); 
}); 

또는

$("#first-choice").change(function() { 
    $("#second-choice").load("getter.php?choice=" + $("#first-choice option:selected").val(); 
}); 

또는 사용이

$("#first-choice").change(function() { 
    $("#second-choice").load("getter.php?choice=" + $("#first-choice").find(":selected").val(); 
}); 

를 찾을 수 귀하의 변경 기능이 하나를 시도

<option value="test">test</option> 
+0

첫 번째 옵션이 작동했습니다. 나는 전에 그것을 본 적이 없다. 기본적으로 "this"는 변경 기능에 사용될 수 있습니다. 거기에 나중에 내가 처음으로 선택한 선택 옵션을 정의 할 수있는 방법은 내가 그들을 데이터베이스에 연결할 수 있을까? – rambossa

+0

'$ (this)'는 세 번째 옵션을 선택했을 때처럼 현재 요소의 객체를 트리거 할 것입니다. 세번째 옵션 객체 인 –

+0

을 가질 것입니다. 그래서 오류를 발견했습니다. 선택 이름 사이에 공백이 있으면 , $ _get이 작동하지 않는 것 같습니다 ... 이것을 수정하는 방법은 무엇입니까? – rambossa

관련 문제