2012-10-12 4 views
0

STATES라는 하나의 optionSet가 있습니다. 또 다른 이름의 레스토랑.다른 필드 선택을 기반으로 OptionSet 필터링

내 목표는 어떤 상태가 선택되었는지에 따라 레스토랑 옵션 집합을 필터링하는 것입니다.

내 현재의 방법은 옵션의 값을 설계하는 것입니다 여기서

다음
States[0] = 1000 
States[1] = 2000 
States[2] = 3000 

, 레스토랑 :

Restaurants[3] = 1003 
Restaurants[30] = 2004 

미국 필드가 변경 될 때 나는 그 레스토랑을 반복. 레스토랑 값이 선택된 상태의 범위에 있지 않으면 removeOption (Restaurant.value)을 호출합니다.

내 문제는 상태가 두 번 이상 변경되면 옵션 세트 또는 "replaceOption"을 "새로 고치지"않기 때문에 모든 값이 제거된다는 것입니다.

javascript를 통해 removeOption을 통해 모든 optionSet 값을 제거한 후에 표시 할 수있는 방법이 있습니까?

+1

사용중인 HTML 및 코드를 게시하십시오. – charlietfl

답변

2

더 나은 디자인은 두 개의 사용자 지정 엔터티를 가질 수 있습니다. 하나는 상태 용이고 다른 하나는 레스토랑 용입니다. 식당 엔티티는 상태 (N : 1 관계)에 대해 필수 (필수) 조회 필드를 갖습니다. 선택 목록이있는 주 및 식당 모두에 조회를 추가하십시오. 그런 다음 기본 제공 기능을 사용하여 다른 기능의 값을 기반으로 한 조회를 필터링 할 수 있습니다. 코드 없음, 스트레스 없음, 거의 제로 유지.

는 반드시 사용자가 당신이 가져 충분히 쉽게 모든 상태에 대한 기록을 설정할 수 있습니다

에 대한 권한 "에 추가"했는지 확인해야하고, 사용자가 이러한 개정하지 않는 것을 잊지 마세요. 주정부 정보를 포함한 식당 가져 오기. 보안 역할을 사용하여 미래에 새로운 레스토랑 기록을 ​​만들 수있는 사용자를 결정하여 관리 작업 없이는이 사실을 쉽게 유지할 수 있습니다.

나는 이것이 당신이 픽업리스트를 필터링하는 것에 관해 묻는 질문에 답하지 못한다는 것을 알고 있습니다.하지만 그 뒤에 내포 된 비즈니스 요구 사항에 대한 답은 확실합니다.

+0

역순으로 적용되지 않는 필터링을 조심하십시오. 예 : A 필터 B이므로 A에서 옵션을 선택한 다음 B에서 필터링 된 옵션을 선택한 다음 A를 B와 완전히 무관 한 것으로 변경할 수 있습니다. A가 변경되면 B를 지우려면 JavaScript가 필요합니다. –

+1

사실, 어떤 접근 방식 (선택 목록 또는 조회)이 적용 되든 상관 없습니다. B가 채워지거나 A가 변경되면 B를 분명히 할 때 A 필드를 읽기 전용으로 만들 수 있습니다. 나는 또한 B를 기반으로 A를 필터링하고 B를 변경하는 경우 B의 올바른 부모에게 A를 변경하려고합니다 (사용자가 trn B의 필터를 끄도록 허용하면 원하지 않을 수도 있음). 그것은 모두 정확한 사용법에 달려 있습니다. 사용자가 A가 확실하지 않은 채로 B를 알면 먼저 B를 선택하고 다른 경로로 A를 채우십시오. – AdamV

관련 문제