所以我有这个HTML表单:
git
我有这个jQuery
xclip
我从json帖子获得以下回复
$ git log -1 --pretty=%B | xsel -i -b
所以帖子和回调工作正常,因为这些记录在控制台中,我需要能够接受被叫回来制作数据[“make”]并更新选择表单中的选定选项。
你可以看到我尝试了很多不同的选项,甚至在代码中输入“Ford”,但我似乎总是在控制台中收到以下错误:
<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>
对于我的生活,我现在无法让这个工作。
答案 0 :(得分:1)
而不是$
使用jQuery
,而是使用而不是data["make"]
到data.make
答案 1 :(得分:1)
使用contains
获取选项值,然后设置选择: -
var ford = $('.pf-make option:contains("Ford")').val();
$('.pf-make').val(ford);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>
&#13;
答案 2 :(得分:1)
一个简单的解决方案是遍历选项以查找匹配的文本,然后访问其值。
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);
答案 3 :(得分:0)
查看此更新的代码。请注意,它使用 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>