Большое человеческое спасибо!
Так действительно работает везде, забыл о том что атрибуты и свойства - разные вещи.
я только начинаю осваивать jquery, и буду вам очень благодарен, если ответите еще на пару вопросов, это мне очень поможет в осмыслении
вопоса три, и они комментами к строчкам, которые мне не понятны:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo by macmacins</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script>
$(window).load(function(){
// чем отличается от $(document).ready(function() ?
var ops = $("#cityList option");
$("#Filter").on('input',function()
{
var search_str = this.value.toLowerCase(), conc;
$("#cityList option").remove();
ops.each(function(indx, element){
// не понял для чего в фунции описаны вот эти параметры (indx, element)
this.text.toLowerCase().indexOf(search_str)==0 && ($("#cityList").append($(this)))
// эта строка эквивалентна вот этой:
// if (this.text.toLowerCase().indexOf(search_str)==0) $("#cityList").append($(this))
// ?? и почему так работает? :)
});
conc = !$("#cityList option").size();
conc && $("#cityList").append($('<option value="-1">Совпадейний не найдено</option>'));
$("#cityList").prop("disabled", conc);
$("#cityList :selected").prop("selected", false);
$("#cityList option:first").prop("selected", true);
})
});
</script>
</head>
<body>
<input style="display: block" id="Filter">
<select id="cityList" size="8">
<option>Брянск</option>
<option>Житомер</option>
<option>Пенза</option>
<option>Бердянск</option>
</select>
</body>
</html>
еще раз большое спасибо!