2013-07-29 4 views
1

select 요소에 onChange 이벤트를 추가하려고합니다.자바 스크립트 문자열이 함수가 아닙니다.

<select name="to" onChange="if(type(this.selectedIndex) != undefined){ alert('hello'); }"> 
    <option value="newsletter">Alle nieuwsbrief-abonnees</option> 
    <option value="customer_all">Alle klanten</option> 
    <option value="customer_group">Klantengroep</option> 
    <option value="customer">Klanten</option> 
    <option value="affiliate_all">Alle affiliates</option> 
    <option value="affiliate">Affiliates</option> 
    <option value="product">Producten</option> 
    <option value="marketing">Alle Marketing Abbonnees</option> 
    <option value="marketing_all">Alle Marketing</option> 
    <option value="subscriber">Alle Nieuwsbrief Abbonnees &amp; Marketing Abbonnees</option> 
    <option value="all">Alle Klanten &amp; Marketing</option> 
    <option value="old_brian">Oude lijst Brian</option> 
    <option value="old_dunamis">Oude lijst Dunamis</option> 
    <option value="old_frohlich">Oude lijst Frohlich</option> 
    <option value="old_gaithers">Oude lijst Gaithers</option> 
    <option value="old_gospel7">Oude lijst Gospel7</option> 
    <option value="old_lifeshop">Oude lijst Lifeshop</option> 
    <option value="old_meyer">Oude lijst Meyer</option> 
    <option value="old_opwekking">Oude lijst Opwekking</option> 
    <option value="old_pelgrim_kerken">Oude lijst Perlgim Kerken</option> 
    <option value="old_pelgrim_klanten">Oude lijst Pelgrim Klanten</option> 
    <option value="old_pelgrim_pers">Oude lijst Pelgrim Pers</option> 
    <option value="old_pelgrim_scholen">Oude lijst Pelgrim Scholen</option> 
    <option value="old_test">Oude lijsten test</option> 
</select> 

Here's an JSFIDDLE of it

가 onchange를 스크립트에 유래에 대한 답변에서 온 : :이 HTML은 다음과 같습니다 Is there an onSelect event or equivalent for HTML ?

하지만 난 다음 오류 얻을 : 난

Uncaught TypeError: string is not a function 

을 우둔한데, 뭐가 문제 야? onChange 이벤트에서 if 문을 수행 할 수 없습니까? 아니면 다른 것입니까?

+1

"selectedIndex"속성을 확인하는 방법에 대한 대답은 잘못되었습니다. – Pointy

+0

나는 그것을 이미 생각했지만 js에서 그렇게 잘하지 못하여 올바른 방법을 이해할 수 없었습니다. D – Mathlight

답변

6

type은 내장 기능이 아닙니다. typeof은 원하는 운영자 일 수 있습니다. 그것은 문자열 반환

if (typeof this.selectedIndex !== "undefined") // But see below 

을하지만 selectedIndex 결코 undefinedselect 요소입니다 있습니다. 선택 사항 없음을 나타 내기 위해 -1이 될 수 있지만 undefined은 표시되지 않습니다. 그래서 :

if (this.selectedIndex !== -1) 

오류에 대해서 : 내 생각 엔 당신이 type라는 전역 변수를 가지고, 그것은 문자열이 포함되어 있다는 것입니다. 그러면 오류 TypeError: string is not a function이 표시됩니다.

+0

고맙습니다. 그 유형은 실제로 수정 된 것이 었습니다. 이제 두 번째 recomendation을 사용합니다. 시간이되면 받아 들일 것입니다. 다시 한 번 감사드립니다 : D – Mathlight

+0

@Mathlight : 도와 드리겠습니다! –

+1

@Mathlight 내가 혼란스러워서 죄송합니다. T.J Crowder에게 고마워했습니다. –

관련 문제