This is an example of how to implement table-row-highlightning on key-press with JavaScript.
Related blog-post. - the place for feedback and bug-reports.
It attaches to any given table, and then awaits for keypress-events after which it will search through the table for matching rows and adds the class "highlight" to the first matching row.
It has support for multiple characters and customizable timeout. This means that you can start typing a word and it will give you a closer match.
ESC forces a timeout.
It's case-insensitive.
Tested in: Opera 9.64 & 10 beta, Firefox 3.0.10, Safari 3 & 4 beta, IE7
Try it yourself: I've appended a table on the bottom of this page - start writing the name of a country, i.e. Norway.
The do-whatever-you-want-license - but I'd like you to keep an reference to me.
Download the main-script.
Define a CSS-rule for the highlighted rows:
table tr.highlight td { background-color: yellow; }
Activate, preferrable by good event-attaching.
window.onload = function() {
MIO.highlighter.init(table_element, check_col);
// i.e.: .init(document.getElementsByTagName("TABLE").item(0), 0) <- will get the first table that appears in the DOM, and check against its first column
}
This input-field will reflect your current query
| Country | Continent | Capital |
|---|---|---|
| Afghanistan | Asia | 1 |
| Albania | Europe | 34 |
| Algeria | Africa | 35 |
| American Samoa | Oceania | 54 |
| Andorra | Europe | 55 |
| Angola | Africa | 56 |
| Anguilla | North America | 62 |
| Antarctica | Antarctica | |
| Antigua and Barbuda | North America | 63 |
| Argentina | South America | 69 |
| Armenia | Asia | 126 |
| Aruba | North America | 129 |
| Australia | Oceania | 135 |
| Austria | Europe | 1523 |
| Azerbaijan | Asia | 144 |
| Bahamas | North America | 148 |
| Bahrain | Asia | 149 |
| Bangladesh | Asia | 150 |
| Barbados | North America | 174 |
| Belarus | Europe | 3520 |
| Belgium | Europe | 179 |
| Belize | North America | 185 |
| Benin | Africa | 187 |
| Bermuda | North America | 191 |
| Bhutan | Asia | 192 |
| Bolivia | South America | 194 |
| Bosnia and Herzegovina | Europe | 201 |
| Botswana | Africa | 204 |
| Bouvet Island | Antarctica | |
| Brazil | South America | 211 |
| British Indian Ocean Territory | Africa | |
| Brunei | Asia | 538 |
| Bulgaria | Europe | 539 |
| Burkina Faso | Africa | 549 |
| Burundi | Africa | 552 |
| Cambodia | Asia | 1800 |
| Cameroon | Africa | 1804 |
| Canada | North America | 1822 |
| Cape Verde | Africa | 1859 |
| Cayman Islands | North America | 553 |
| Central African Republic | Africa | 1889 |
| Chad | Africa | 3337 |
| Chile | South America | 554 |
| China | Asia | 1891 |
| Christmas Island | Oceania | 1791 |
| Cocos (Keeling) Islands | Oceania | 2317 |
| Colombia | South America | 2257 |
| Comoros | Africa | 2295 |
| Congo | Africa | 2296 |
| Congo, The Democratic Republic of the | Africa | 2298 |
| Cook Islands | Oceania | 583 |
| Costa Rica | North America | 584 |
| Côte dIvoire | Africa | 2814 |
| Croatia | Europe | 2409 |
| Cuba | North America | 2413 |
| Cyprus | Asia | 2430 |
| Czech Republic | Europe | 3339 |
| Denmark | Europe | 3315 |
| Djibouti | Africa | 585 |
| Dominica | North America | 586 |
| Dominican Republic | North America | 587 |
| East Timor | Asia | 1522 |
| Ecuador | South America | 594 |
| Egypt | Africa | 608 |
| El Salvador | North America | 645 |
| Equatorial Guinea | Africa | 2972 |
| Eritrea | Africa | 652 |
| Estonia | Europe | 3791 |
| Ethiopia | Africa | 756 |
| Falkland Islands | South America | 763 |
| Faroe Islands | Europe | 901 |
| Fiji Islands | Oceania | 764 |
| Finland | Europe | 3236 |
| France | Europe | 2974 |
| French Guiana | South America | 3014 |
| French Polynesia | Oceania | 3016 |
| French Southern territories | Antarctica | |
| Gabon | Africa | 902 |
| Gambia | Africa | 904 |
| Georgia | Asia | 905 |
| Germany | Europe | 3068 |
| Ghana | Africa | 910 |
| Gibraltar | Europe | 915 |
| Greece | Europe | 2401 |
| Greenland | North America | 917 |
| Grenada | North America | 916 |
| Guadeloupe | North America | 919 |
| Guam | Oceania | 921 |
| Guatemala | North America | 922 |
| Guinea | Africa | 926 |
| Guinea-Bissau | Africa | 927 |
| Guyana | South America | 928 |
| Haiti | North America | 929 |
| Heard Island and McDonald Islands | Antarctica | |
| Holy See (Vatican City State) | Europe | 3538 |
| Honduras | North America | 933 |
| Hong Kong | Asia | 937 |
| Hungary | Europe | 3483 |
| Iceland | Europe | 1449 |
| India | Asia | 1109 |
| Indonesia | Asia | 939 |
| Iran | Asia | 1380 |
| Iraq | Asia | 1365 |
| Ireland | Europe | 1447 |
| Israel | Asia | 1450 |
| Italy | Europe | 1464 |
| Jamaica | North America | 1530 |
| Japan | Asia | 1532 |
| Jordan | Asia | 1786 |
| Kazakstan | Asia | 1864 |
| Kenya | Africa | 1881 |
| Kiribati | Oceania | 2256 |
| Kuwait | Asia | 2429 |
| Kyrgyzstan | Asia | 2253 |
| Laos | Asia | 2432 |
| Latvia | Europe | 2434 |
| Lebanon | Asia | 2438 |
| Lesotho | Africa | 2437 |
| Liberia | Africa | 2440 |
| Libyan Arab Jamahiriya | Africa | 2441 |
| Liechtenstein | Europe | 2446 |
| Lithuania | Europe | 2447 |
| Luxembourg | Europe | 2452 |
| Macao | Asia | 2454 |
| Macedonia | Europe | 2460 |
| Madagascar | Africa | 2455 |
| Malawi | Africa | 2462 |
| Malaysia | Asia | 2464 |
| Maldives | Asia | 2463 |
| Mali | Africa | 2482 |
| Malta | Europe | 2484 |
| Marshall Islands | Oceania | 2507 |
| Martinique | North America | 2508 |
| Mauritania | Africa | 2509 |
| Mauritius | Africa | 2511 |
| Mayotte | Africa | 2514 |
| Mexico | North America | 2515 |
| Micronesia, Federated States of | Oceania | 2689 |
| Moldova | Europe | 2690 |
| Monaco | Europe | 2695 |
| Mongolia | Asia | 2696 |
| Montserrat | North America | 2697 |
| Morocco | Africa | 2486 |
| Mozambique | Africa | 2698 |
| Myanmar | Asia | 2710 |
| Namibia | Africa | 2726 |
| Nauru | Oceania | 2728 |
| Nepal | Asia | 2729 |
| Netherlands | Europe | 5 |
| Netherlands Antilles | North America | 33 |
| New Caledonia | Oceania | 3493 |
| New Zealand | Oceania | 3499 |
| Nicaragua | North America | 2734 |
| Niger | Africa | 2738 |
| Nigeria | Africa | 2754 |
| Niue | Oceania | 2805 |
| Norfolk Island | Oceania | 2806 |
| North Korea | Asia | 2318 |
| Northern Mariana Islands | Oceania | 2913 |
| Norway | Europe | 2807 |
| Oman | Asia | 2821 |
| Pakistan | Asia | 2831 |
| Palau | Oceania | 2881 |
| Palestine | Asia | 4074 |
| Panama | North America | 2882 |
| Papua New Guinea | Oceania | 2884 |
| Paraguay | South America | 2885 |
| Peru | South America | 2890 |
| Philippines | Asia | 766 |
| Pitcairn | Oceania | 2912 |
| Poland | Europe | 2928 |
| Portugal | Europe | 2914 |
| Puerto Rico | North America | 2919 |
| Qatar | Asia | 2973 |
| Réunion | Africa | 3017 |
| Romania | Europe | 3018 |
| Russian Federation | Europe | 3580 |
| Rwanda | Africa | 3047 |
| Saint Helena | Africa | 3063 |
| Saint Kitts and Nevis | North America | 3064 |
| Saint Lucia | North America | 3065 |
| Saint Pierre and Miquelon | North America | 3067 |
| Saint Vincent and the Grenadines | North America | 3066 |
| Samoa | Oceania | 3169 |
| San Marino | Europe | 3171 |
| Sao Tome and Principe | Africa | 3172 |
| Saudi Arabia | Asia | 3173 |
| Senegal | Africa | 3198 |
| Seychelles | Africa | 3206 |
| Sierra Leone | Africa | 3207 |
| Singapore | Asia | 3208 |
| Slovakia | Europe | 3209 |
| Slovenia | Europe | 3212 |
| Solomon Islands | Oceania | 3161 |
| Somalia | Africa | 3214 |
| South Africa | Africa | 716 |
| South Georgia and the South Sandwich Islands | Antarctica | |
| South Korea | Asia | 2331 |
| Spain | Europe | 653 |
| Sri Lanka | Asia | 3217 |
| Sudan | Africa | 3225 |
| Suriname | South America | 3243 |
| Svalbard and Jan Mayen | Europe | 938 |
| Swaziland | Africa | 3244 |
| Sweden | Europe | 3048 |
| Switzerland | Europe | 3248 |
| Syria | Asia | 3250 |
| Taiwan | Asia | 3263 |
| Tajikistan | Asia | 3261 |
| Tanzania | Africa | 3306 |
| Thailand | Asia | 3320 |
| Togo | Africa | 3332 |
| Tokelau | Oceania | 3333 |
| Tonga | Oceania | 3334 |
| Trinidad and Tobago | North America | 3336 |
| Tunisia | Africa | 3349 |
| Turkey | Asia | 3358 |
| Turkmenistan | Asia | 3419 |
| Turks and Caicos Islands | North America | 3423 |
| Tuvalu | Oceania | 3424 |
| Uganda | Africa | 3425 |
| Ukraine | Europe | 3426 |
| United Arab Emirates | Asia | 65 |
| United Kingdom | Europe | 456 |
| United States | North America | 3813 |
| United States Minor Outlying Islands | Oceania | |
| Uruguay | South America | 3492 |
| Uzbekistan | Asia | 3503 |
| Vanuatu | Oceania | 3537 |
| Venezuela | South America | 3539 |
| Vietnam | Asia | 3770 |
| Virgin Islands, British | North America | 537 |
| Virgin Islands, U.S. | North America | 4067 |
| Wallis and Futuna | Oceania | 3536 |
| Western Sahara | Africa | 2453 |
| Yemen | Asia | 1780 |
| Yugoslavia | Europe | 1792 |
| Zambia | Africa | 3162 |
| Zimbabwe | Africa | 4068 |
Michael Odden 2009 - http://michaelodden.com/