내 양식에 실제로 쿼리 유형에 따라 즉석에서 mysql db 쿼리를 생성하는 데 도움이되는 드롭 다운 목록이 있습니다. 예 : fetchYourDetails의 드롭 다운에 내 querytype이 있으면 내 이름을 묻는 양식의 텍스트 상자가 나타납니다. 일단 내 이름을 입력하고 을 생성하면을 생성합니다. 쿼리 프레임을 만들고 백그라운드 PHP에서 실행합니다.드롭 다운, jquery, PHP를 기반으로 동적 양식 필드 만들기
이와 같이 나는 약 4/5의 쿼리 유형이 있으며 앞으로 증가 할 가능성이 높습니다. 여기에 현재 구현에 문제가 있습니다.
내가 현재 사용하고있는 것은 드롭 다운과 모든 매개 변수 필드 (숨김)가있는 양식입니다. 자, 내 js에서 onchange() 함수를 사용하여 선택한 드롭 다운 옵션에 따라 특정 매개 변수 행을 표시하고 나머지는 숨 깁니다.
<form>
<table>
<tr id='dropdown'>
<td>
<select id='select_options' onchange ="javascript:updateCustomQueryFields();">
<option value='getyourdetails'></option>
<option value='getyourbikedetails'></option>
<!-- so on -->
</select>
</td>
</tr>
<tr style='display:none'>
<td>
<!-- one field -->
<!-- create the generate option -->
</td>
</tr>
<tr style='display:none'>
<td>
<!-- one field -->
<!-- create the generate option -->
</td>
</tr>
<!-- so on -->
</table>
</form>
내 onchange를 기능은 다음과 같습니다 : 나는 클릭 옵션를 생성 할 때, 지금까지
function updateCustomQueryFields()
{
val=$('#select_options').val();
//hideallfieldsfirst
if(val=='getyourdetails')
{
//show one field
}
else if(val=='getyourbikedetails')
{
//show one field
}
}
너무 좋아, 내 HTML 코드처럼 보이는 방법
그래서 여기에 쿼리를 실행하고 db에서 데이터를 가져 와서 폼 아래의 결과 div에 표시합니다.
그래서 결과를 표시 할 때 컨트롤러에서 설정 한 매개 변수를 기반으로보기에서 일부 필드를 숨기고 다른 필드를 표시해야합니다. 그래서 if-else 문 시리즈는 더 많은 매개 변수를 추가 할 때 증가 할 것입니다.
매개 변수 필드를 즉석에서 생성하는 메커니즘이 필요합니다. 예를 들어 쿼리 유형이 'getyourdetails'인 경우 이름 필드 만 만들고 나머지는 모든 필드를 제거해야합니다. 백엔드 onchange 기능.
어떻게 jquery를 사용하여 달성 할 수 있습니까? 그리고 내가 원하는 것을 구현하는 것이 적절한 방법론이 될 것인가? 결과를 가져온 후 호출이 컨트롤러에서 반환되면 내 매개 변수 필드를 예상하는 것을 명심해야합니다.