문제

여기에 onchange 이벤트를 추가하려면 어떻게합니까?

프레임 워크 : 레일
데이터베이스 : MySQL

데이터베이스에서 옵션을 채우고 있으며 사용하게되었습니다. options_from_collection_for_select

select_tag(:variable,options_from_collection_for_select(:all, :id, :name))
도움이 되었습니까?

해결책

select_tag 가져갑니다 options 최종 매개 변수로서 해시는 선택에 대한 HTML 속성을 추가 할 수 있습니다. 그래서 추가하려면 onchange 기인하다:

select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()'

다른 팁

다음과 같은 것을 시도하십시오.

:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'})

select_tag의 경우 다음을 추가하십시오.

{:onchange => "myHandler();" }

또한 OnChange가 작동하지 않으면 시도해 볼 수 있습니다. onChange 자본 C와 함께

마지막으로 select_tag를 양식과 혼동하지 마십시오.

select 님과 관련하여 유사한 질문에 대한 나의 대답을 확인하십시오.

양식 선택에 OnChange 이벤트 추가

추가하고 싶을 수도 있습니다 onchange 속성 인라인 :

select_tag(:variable,options_from_collection_for_select(:all, :id, :name)), {:onchange => "(function(e){ e.target.value }).apply(this,arguments)"}

내 경우에는 이름이 지정된 기능을 어디에 두어야하는지 확실하지 않거나 때로는 간단한 태그를 만들기 위해 함수를 만드는 것이 지루합니다. 그래서 사람들은 인라인 기능을 작성하는 경향이 있습니다.

그러나 간단한 라인과 같은 {onchange: "e.target.value"} 변수가 없기 때문에 작동하지 않습니다 (예 : event) 정의.

솔루션은 인수를 받아들이는 자체 실행 기능입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top