简体   繁体   中英

Get 'event.target.id' as String

The following script return an error:

"Uncaught TypeError: Object Reg_8712 has no method 'indexof' 

Reg_8712 is the radio button id who fired the event.

The script:

$("input:radio").change(function (event) {            

            alert(event.target.id); // this works! it returns it as string.
            var eti =  event.target.id; // 'eti' gets the object and not the string.
            var n = eti.indexof("_"); // error! cannot indexof ('eti' is an object and not string)
            var fid = eti.substring(n);

How can I get the 'eti' as string?

In case something is indeed not a string, most simple way to convert is use the generic .toString() method:

var eti =  event.target.id.toString();
var n = eti.indexOf("_");

Simple test case to prove the point.

Syntax for indexOf

string.indexOf(searchValue[, fromIndex])

      alert(event.target.id); // this works! it returns it as string.
        var eti =  event.target.id.toString(); // 'eti' gets the object and not the string.
        var n = eti.indexOf("_"); // error! cannot indexof ('eti' is an object and not string)
        var fid = eti.substring(n);

Ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM