0

私は彼について読んでいて、委任されたイベント ハンドラーが必要であることに気付きました。

編集:私がやろうとしているのはこれです:人が新しい値を選択すると、隣接するドロップダウンボックスのオプションのリストを埋めるイベントが発生します。この時点で、アラートが発生した場合、それが機能していることがわかります。しかし、それは起こっていません。私が望むのは、新しいオプションが選択されたときにイベントが発生することです

私のイベントハンドラ:

$(document).ready(function(){
 $('#DDgrade').on("change", ".oDDclass", function() {
 var originatingid = jQuery(this).attr("id");
 var grade =    $("#DDgrade :selected").text();
alert('grade= '+grade);
return;
  }); 
});

ドロップダウンを作成するコード:

<select name="DDgrade" id="DDgrade" onChange="$('#theotherdropdowns').css({'visibility': 'hidden'});" style="width:130px;height:30px;margin-bottom:5px;">
<option value="Grade">Grade</option>

<?php
    $mysqli1 = connecttomydatabase();
    $query2="
    SELECT grade 
    FROM a10daydefaults 
    ;";

    $stmt = $mysqli1->prepare($query2) ; echo $stmt->error ;
    //var_dump($mysqli1->error);
    if ( $stmt->execute() ) {;} else{ printf("Query error: %s", $stmt->error); } 
    $stmt->store_result();
    $stmt->bind_result($theresult);

    while($stmt->fetch()) {
        echo $theresult ."<br>";
        echo "<option value='$theresult' class='oDDclass'>$theresult</option>";
    }           
    $stmt->free;
    $stmt->close;
?>          
</select>

これについて読んだことがありますが、正しくやっていると思っていましたが、うまくいきません。

4

1 に答える 1

0

option要素のみの要素の変更イベントはありませんselect

https://developer.mozilla.org/en-US/docs/Web/Reference/Events/change

select 要素がページに動的に追加されない場合は更新します。イベント委任は必要ありません。次の操作を実行できます。

$('#DDgrade').change(function(){
     var grade =    $("#DDgrade :selected").text();
     alert('grade= '+grade);
});

動的に追加されたオプション要素のオプションを使用して、実際の動作を確認してください: http://jsfiddle.net/nNK9y/

select要素をページに動的に追加する場合は、委任が必要です。

于 2013-08-30T03:54:15.677 に答える