0

誰かがコントロール値の選択をクリックしたときに ajax を実行したい。問題は、onChange が ajax 呼び出し jquery をトリガーしないことです:(

これは私がこれまでに持っているものです:)

ジャバスクリプト:

<script>
 function swapContent(cv) {
    $("#myDiv").html('').show();
    var url = "ajax.php";
    $.post(url, {contentVar: cv} ,function(data) {
       $("#myDiv").html(data).show();
    });
}
</script>

HTML

<select name="dimenzije" onchange"javascript:swapContent(this);">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
</select>
ページが最初に読み込まれるときのこのページ要素のデフォルト コンテンツ

そしてAJAX.PHP

<?php 
$contentVar = $_POST['contentVar'];
echo $contentVar;
?>

何もトリガーしません:(しかし、私がこのようなことをすると

     <a href="#" onClick="return false" onMouseDown="javascript:swapContent('Prva');">Content1</a>
<a href="#" onClick="return false" onMouseDown="javascript:swapContent('Druga');">Content2</a>
<a href="#" onClick="return false" onMouseDown="javascript:swapContent('Treca');">Content3</a>

A HREF を使用すると、すべてがうまくスムーズに機能します。どこで間違いを犯したのでしょうか?

4

2 に答える 2

1

イベント ハンドラ.change()を使用する必要があります。

ジャバスクリプト:

<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function($){
    // event handler
    $('select[name="dimenzije"]').on('change', function(event) {
        // get the value of the selection
        var cv = $(this).val(),
            url = "ajax.php";
        // change the hidden div's content to something if you're setting html().
        $("#myDiv").html('Loading...').show();
        // post
        $.post(url, {contentVar: cv} ,function(data) {
           // Replace with new content
           $("#myDiv").html(data).show();
        });
    });
});
</script>

HTML

<select name="dimenzije" id="swapContent">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
</select>
于 2013-11-14T18:14:59.147 に答える