Model # : <input type="text" name="model" id="newmodel" value="" >
Serial # : <input type="text" name="fserial" value="" class="serialClass" id="myserial">
in script I have: enter code here
<script>
//Here I can't get the value of serial# with the id="myserial"
var newserial = $("#myserial").val();
$(document).ready(function(){
$('#myserial').change(function(){
//this is a test alert, (OUTPUT = "seial number: undefined variable"), which means that
alert("serial number: "+ newserial);
$.ajax({
type: 'GET',
url: 'toshGet.php',
//upon success, pass newserial
data: {keyword: newserial},
success: function(msg){
$('#txtHint').html(msg);
}
});//ajax()
});//change()
});//document.ready()
</script>
答案 0 :(得分:-2)
在你的情况下,问题是当你在DOM中没有正确呈现时,你将一个id为'myserial'
的元素赋值给它。
不要在var newserial = $("#myserial").val();
之外指定document.ready()
,而是尝试:
var newserial;
$(document).ready(function(){
newserial = $("#myserial").val();
....
});
或(如果您想要更新'#myserial'
的话)
在更改事件处理程序本身内部使用var newserial = $("#myserial").val();
或var newserial = $(this).val();
。
或强>
直接分配值而不在ajax调用中获取任何额外变量,如下所示:
data: { keyword: $("#myserial").val() }, //or $(this).val()
旁注: - 您的alert("serial number: "+model);
绝对错误,因为您的代码中没有名称模型的变量。