Javascript d)隐藏; } else if($(this).val()==2){ $(“#pic#amount_id”).hide(); $(“#vid#duration_id”).show(); } else if($(this).val()==3){ $(“#pi

Javascript d)隐藏; } else if($(this).val()==2){ $(“#pic#amount_id”).hide(); $(“#vid#duration_id”).show(); } else if($(this).val()==3){ $(“#pi,javascript,jquery,ajax,Javascript,Jquery,Ajax,d)隐藏; } else if($(this).val()==2){ $(“#pic#amount_id”).hide(); $(“#vid#duration_id”).show(); } else if($(this).val()==3){ $(“#pic#amount_id”).show(); $(“#vid#duration_id”).show(); } }); }); //使用jQuery的AJAX $(“#获取页面数据”)。在('click',函数(e)上{ e、 preventDef

d)隐藏; } else if($(this).val()==2){ $(“#pic#amount_id”).hide(); $(“#vid#duration_id”).show(); } else if($(this).val()==3){ $(“#pic#amount_id”).show(); $(“#vid#duration_id”).show(); } }); }); //使用jQuery的AJAX $(“#获取页面数据”)。在('click',函数(e)上{ e、 preventDefault();//防止的默认行为 var strURL='1〕http://localhost/stack-delete/page.php?'; //可以使用类似{random:Math.random()}的对象将变量传递给PHP //这个$.get()现在可以类似于$.get(strURL,{random:Math.random()},函数(response){ //在PHP中,您可以获得$random=$\u get['random'] //这个Math.random()看起来很奇怪,因为您没有在page.php中使用它, //正确的url应该是strURL+'&random='+Math.random() $.get(strURL+'&'+Math.random(),函数(响应){ $('#result').html(响应); }); });

通过AJAX加载页面,是否意味着您的文档中包含
#pic_video
的HTML部分正在由AJAX加载?您是否有生成的
示例?$(文档).ready在用AJAX加载时不会触发。你真的支持IE6或更低版本吗?因为该死。此外,jQuery的AJAX方法将大量代码抽象出来,即使对于那些较旧的浏览器也是如此(尽管你也需要使用相当旧版本的jQuery)。在不知道HTML代码的哪些部分是通过ajax添加的情况下是不可能的。如果您收到的答案中给出的代码没有解决问题,那么您可能不会给我们一个答案。通过ajax加载页面,您的意思是指您文档中包含
#picu video
的HTML部分是由ajax加载的吗?您是否有生成的
?$(文档)示例。ready在由AJAX加载时不会启动。您真的支持IE6或更低版本吗?因为该死。此外,jQuery的AJAX方法将大量代码抽象出来,即使对于那些较旧的浏览器也是如此(尽管您也需要使用非常旧版本的jQuery)。在不知道HTML代码的哪些部分是通过ajax添加的情况下,很难说。如果您收到的答案中给出的代码没有解决问题,您可能不会给我们一个答案。我尝试了这个方法,但似乎无法使其工作。可能是因为我的ajaxcode@Nicolas.因此,最初加载页面时,元素是
lo我是说在点击
loadAjax2(…)之前
link。是的,但它是空的。当Ajax被触发时,div将被新的page.php填充,其中包含所有html/jquery代码。因此,要使上述代码正常工作,您需要将Javascript代码移动到初始页面,在那里有
#result
元素。如果您将其保留在从Ajax r获得的html/jquery数据中,则equest,则单击事件将不会绑定到元素。@Nicolas。我已用两种方法更新了答案,您可以采用。请检查它是否有帮助。我尝试了这一方法,但似乎没有成功。可能是因为我的Ajaxcode@Nicolas.那么,最初当页面加载时,元素
是否加载到页面上?我的意思是在clic之前
loadAjax2(…)上的国王
link。是的,但它是空的。当Ajax被触发时,div将被新的page.php填充,其中包含所有html/jquery代码。因此,要使上述代码正常工作,您需要将Javascript代码移动到初始页面,在那里有
#result
元素。如果您将其保留在从Ajax r获得的html/jquery数据中,则equest,则单击事件将不会绑定到元素。@Nicolas。我已用两种方法更新了答案,您可以采用。请检查是否有帮助
 <script>
    $(document).ready(function (){
        $("#pic_video").change(function() {
            // foo is the id of the other select box
            if ($(this).val() == 1) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").hide();
            }
            else if ($(this).val() == 2) {
                $("#pic_amount_id").hide();
                $("#vid_duration_id").show();
            }
            else if ($(this).val() == 3) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").show();
            }
        });
    });
</script



 <p style="margin-top:15px;"><b>Select</b></p>
 <span class="small"></span>
 <select name="pic_video" id="pic_video" style="width:95%;margin-top:6px;">
  <option value="1">A</option>
  <option value="2">B</option>
  <option value="3">C</option>
 </select>


 <div id="pic_amount_id">TEST</div>
 <div id="vid_duration_id">TEST2</div>
<a href onclick="loadAjax2(...)"...>Click here</a>.
function loadAjax(...) {
 if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
 else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
 {
 if (xmlhttp.readyState==4 && xmlhttp.status==200)

 ...

 xmlhttp.open("GET",strURL+'&'+Math.random(),true);
 xmlhttp.send();
 }
$(document).on("change", "#pic_video", function() {....
<script>
    $(document).ready(function (){
        $("#result").on('change', '#pic_video', function() {
            // foo is the id of the other select box
            if ($(this).val() == 1) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").hide();
            }
            else if ($(this).val() == 2) {
                $("#pic_amount_id").hide();
                $("#vid_duration_id").show();
            }
            else if ($(this).val() == 3) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").show();
            }
        });
    });
</script>
var arr = $('#result').getElementsByTagName('script');
for (var n = 0; n < arr.length; n++)
    eval(arr[n].innerHTML)//run script inside div
<a href id="get-page-data">Click here</a>
<div id="result"></div>
<script>
    $(document).ready(function () {
        $(document).on('change', '#pic_video', function () {
            // foo is the id of the other select box
            if ($(this).val() == 1) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").hide();
            }
            else if ($(this).val() == 2) {
                $("#pic_amount_id").hide();
                $("#vid_duration_id").show();
            }
            else if ($(this).val() == 3) {
                $("#pic_amount_id").show();
                $("#vid_duration_id").show();
            }
        });
    });

    // AJAX using jQuery
    $('#get-page-data').on('click', function (e) {
        e.preventDefault(); // prevents the default behaviour of <a>
        var strURL = 'http://localhost/stack-delete/page.php?';
        // you can pass variables to PHP by using an object like {random: Math.random()}
        // this $.get() can now be like $.get(strURL, {random: Math.random()} , function (response) {
        // in your PHP, you can get the value like $random = $_GET['random']
        // this Math.random() seems odd as you are not using it in your page.php,
       // and the correct url should be strURL + '&random=' + Math.random()
        $.get(strURL + '&' + Math.random(), function (response) {
            $('#result').html(response);
        });
    });
 </script>