Javascript Json返回中的JQuery更新选项
我有一个HTML表单:Javascript Json返回中的JQuery更新选项,javascript,jquery,json,Javascript,Jquery,Json,我有一个HTML表单: <select name="finder[4]" id="finder-2--4" class="pffield pf-make"> <option value="0">Please Select...</option> <option value="52505">Alfa Romeo</option> <option value="52506">Audi</option>
<select name="finder[4]" id="finder-2--4" class="pffield pf-make">
<option value="0">Please Select...</option>
<option value="52505">Alfa Romeo</option>
<option value="52506">Audi</option>
<option value="52499">BMW</option>
<option value="52501">Ford</option>
</select>
因此,post和回调在控制台中登录后工作正常,我需要能够获取回调的make数据[“make”]并在select表单中更新所选选项
您可以看到,我尝试了许多不同的选项,甚至在代码中手动键入“Ford”,但我似乎总是在控制台中返回以下错误:
(index):221 Uncaught TypeError: Cannot read property 'val' of null
用
jQuery
代替$
使用jQuery
,也用代替数据[“make”]
来数据。make
代替$
使用jQuery
,也用代替数据[“make”]
到数据。使用包含获取选项值,然后设置选择:-
var ford=$('.pf make选项:包含(“ford”)).val();
$('pf make').val(福特)代码>
请选择。。。
阿尔法罗密欧
奥迪
宝马
河流浅水处
使用contains
获取选项值,然后设置选择:-
var ford=$('.pf make选项:包含(“ford”)).val();
$('pf make').val(福特)代码>
请选择。。。
阿尔法罗密欧
奥迪
宝马
河流浅水处
一个简单的解决方案是迭代选项以找到匹配的文本,然后访问其值
var $select = jQuery('.pf-make');
var value = 0;
$select.find('option').each(function(){
if(jQuery(this).text() == data.make){
value = jQuery(this).val();
return false;
}
});
$select.val(value);
一个简单的解决方案是迭代选项以找到匹配的文本,然后访问其值
var $select = jQuery('.pf-make');
var value = 0;
$select.find('option').each(function(){
if(jQuery(this).text() == data.make){
value = jQuery(this).val();
return false;
}
});
$select.val(value);
请参阅此更新的代码。请注意,它使用ID而不是类名,以使其更具体
<script type="text/javascript">
jQuery("document").ready(function(){
//console.log('on load');
jQuery(".js-ajax-php-json").submit(function(){
//console.log('post');
var data = {
"action": "test"
};
data = jQuery(this).serialize() + "&" + jQuery.param(data);
jQuery.ajax({
type: "POST",
dataType: "json",
url: "/reglookup.php", //Relative or absolute path to response.php file
data: data,
success: function(data) {
jQuery("#finder-2--4").val(data.make);
}
});
return false;
});
});
</script>
jQuery(“文档”).ready(函数(){
//console.log(“加载”);
jQuery(“.js ajax php json”).submit(函数(){
//console.log('post');
风险值数据={
“操作”:“测试”
};
data=jQuery(this.serialize()+“&”+jQuery.param(data);
jQuery.ajax({
类型:“POST”,
数据类型:“json”,
url:“/reglookup.php”,//response.php文件的相对或绝对路径
数据:数据,
成功:功能(数据){
jQuery(“#finder-2--4”).val(data.make);
}
});
返回false;
});
});
查看此更新的代码。请注意,它使用ID而不是类名,以使其更具体
<script type="text/javascript">
jQuery("document").ready(function(){
//console.log('on load');
jQuery(".js-ajax-php-json").submit(function(){
//console.log('post');
var data = {
"action": "test"
};
data = jQuery(this).serialize() + "&" + jQuery.param(data);
jQuery.ajax({
type: "POST",
dataType: "json",
url: "/reglookup.php", //Relative or absolute path to response.php file
data: data,
success: function(data) {
jQuery("#finder-2--4").val(data.make);
}
});
return false;
});
});
</script>
jQuery(“文档”).ready(函数(){
//console.log(“加载”);
jQuery(“.js ajax php json”).submit(函数(){
//console.log('post');
风险值数据={
“操作”:“测试”
};
data=jQuery(this.serialize()+“&”+jQuery.param(data);
jQuery.ajax({
类型:“POST”,
数据类型:“json”,
url:“/reglookup.php”,//response.php文件的相对或绝对路径
数据:数据,
成功:功能(数据){
jQuery(“#finder-2--4”).val(data.make);
}
});
返回false;
});
});
@VelimirTchatchevsky-我不知道你在这里指的是什么,我不擅长jQuery。@VelimirTchatchevsky-我不知道你在这里指的是什么,我不擅长jQuery。在jQuery 1.7中有没有办法做到这一点?我仍然得到(索引):218 Uncaught TypeError:在插入代码的情况下无法读取null的属性“val”-但我可以看到它在使用2.2.1Ahh的示例中起作用-jQuery而不是$Use caution与此答案一起使用。可能存在一个潜在的XSS漏洞。@MrCode就我将来的知识而言,它是如何成为XSS漏洞的?在jQuery 1.7中有没有办法做到这一点?我仍然得到(索引):218 Uncaught TypeError:在插入代码的情况下无法读取null的属性“val”-但我可以看到它在使用2.2.1Ahh的示例中起作用-jQuery而不是$Use caution与此答案一起使用。可能存在一个潜在的XSS漏洞。@MrCode就我将来所知,它是如何成为XSS漏洞的?关于$(this)呢。selected=true
而不是value=$(this.val()代码>?关于<代码>$(此项)如何。所选=真
而不是value=$(this.val()代码>?此方法将假定data.make是选项的ID,不是吗?此方法将假定data.make是选项的ID,不是吗?