0

Web ページで jQuery を使用したいと考えています。ダウンロードしたくないので、Google の CDN から含めます。

ページを実行すると、jQuery が機能しません。

問題がjQueryに依存しているか、私のコードに依存しているかを誰か教えてください。

これが私のコードです。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script>
cars=new Array("Mercedes","Volvo","BMW","porche");
phones=new Array('Samsung','Nokia','Iphone');

populateSelect();

$(function() {

  $('#cat').change(function(){
    populateSelect();
});

});


function populateSelect(){
cat=$('#cat').val();
$('#item').html('');


if(cat=='car'){
    cars.forEach(function(t) { 
        $('#item').append('<option>'+t+'</option>');
    });
}

if(cat=='phone'){
    phones.forEach(function(t) {
        $('#item').append('<option>'+t+'</option>');
    });
}

} 
</script>
</head>

<body>
<select id="cat">
<option value="car">car</option>
<option value="phone">phone</option>
</select>

<select id="item">

</select>
</body>
</html>
4

1 に答える 1

3

DOM がまだロードされていないときに select タグにアクセスしようとする populateSelect() を呼び出します。

関数呼び出しを DOM Ready イベント ハンドラーに移動します。

$(function() {
  populateSelect();

  $('#cat').change(function(){
    populateSelect();
  });
});

次回は、ブラウザの開発者コンソールを開いてください。エラーが明確に表示されます。

于 2013-09-28T20:16:45.960 に答える