从索引文件中加载的ajax文件获取keyup事件的值

时间:2017-05-15 10:53:22

标签: javascript php jquery ajax

php和getvalue.php听到getvalue.php是通过ajax调用的。

Index.php的内容是....

function getthis(str) {
                      var xhttp; 

                      if (str == "") {
                        document.getElementById("getthis").innerHTML = "";
                        return;
                      }
                      xhttp = new XMLHttpRequest();
                      xhttp.onreadystatechange = function() {
                        if (this.readyState == 4 && this.status == 200) {
                          document.getElementById("getthis").innerHTML = this.responseText;
                        }
                      };
                      xhttp.open("GET", "get.php?str="+str, true);
                      xhttp.send();
                    }   

以上脚本是ajax调用....

和index.php内容如下

<div id="abc">
<select name="abx" onChange="getthis(this.value)">
<option value="1" data-id="1">1</oprion>
<option value="2" data-id="2">2</option>
</select>
</div>
<div id="getthis">
</div>

现在在get value.php中跟随代码

 <?php

 $_GET['str'];

 ?>

 <input type="text" value="<?php echo $_GET['str']; ?>" class="thisis"> 

现在在index.php上通过以下脚本我希望通过此代码从keyup事件的输入框中获取值但是我没有得到任何值为什么......?

<script type="javascript">
$(document).ready(function(){

    $('#getthis input.thisis').keyup(function(){
         var abc = $(this).val();
        alert(abc);

    });

    });
</script>

1 个答案:

答案 0 :(得分:0)

在加载时执行此操作时,dom元素不在此处。一旦处理了Ajax请求,就会填充它们。

不要只是尝试绑定元素onload,而是在ajax请求完成后尝试。

if (this.readyState == 4 && this.status == 200) {
    document.getElementById("getthis").innerHTML = this.responseText;
    functionbind();
}

var functionbind = function(){
    $('#getthis input.thisis').keyup(function(){
        var abc = $(this).val();
        alert(abc);

    });
    $('select ').keyup(function(){
        abc = $(this).val();
        alert(abc);

    });
}