jQuery不会更改元素

时间:2018-07-15 21:45:19

标签: javascript jquery html

我在HTML中有一个select元素,然后有一个显示PDF的iframe。我有一些jquery代码,当用户选择一个选项时,应该更改iframe的“ src”属性,但到目前为止,我似乎无法触发它。当我从选择中单击一个选项时,没有任何反应。我曾尝试使用.change()和.on(“ change”),但它们不起作用。我在函数中有console.log,但是它没有任何内容登录到控制台。

jquery

$(document).ready(function(){
    var x = $("#demo-category").val();
    $("#demo-category").on("change", "#demo-category", function(){
        $("#readframe").attr("src", x);
        console.log(x);
        console.log("test");
   });
});

如果您需要更多信息,我会提供。

2 个答案:

答案 0 :(得分:1)

事件委托(即您的

.on("change", "#demo-category", function(){

)用于触发事件的元素与添加侦听器的元素不同。当您要将纯侦听器添加到单个元素时,请勿传递其他选择器-如果这样做,则不会触发该侦听器。而是只需致电.on('change', fn...

此外,您正在加载x的文档。 #demo-category更改后,检索新值

$(document).ready(function() {
  $("#demo-category").on("change", function() {
    var x = $(this).val();
    $("#readframe").attr("src", x);
    console.log(x);
    console.log("test");
  });
});

答案 1 :(得分:1)

我认为这会起作用

$(document).ready(function(){
  $("#demo-category").on("change", function(){
      $("#readframe").attr("src", $(this).val());
  });
});