我有一个问题。所以我尝试根据selectbox填充文本框的值。我的HTML:
<form id="form_gift" action="myAction" method="post">
<div class="form-group">
<label for="">Gift</label>
<select id="statusSelect" name="{{ form_gift.gift.name }}" class="form-control" onChange="getPrix()">
{% for key,category in form_gift.gift.choices %}
<option value="{{ key }}">
{{ category }}
</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label class="control-label" for="">Price</label>
<input type="text" id="{{ form_gift.prix.name }}" name="{{ form_gift.prix.name }}" value="" placeholder="" class="form-control" required="required"/>
</div>
</form>
<script>
function getPrix() {
var selectedId = $("#statusSelect option:selected").val(),
url_deploy = "http://"+window.location.hostname+"/getPrice";
$.ajax({
url: url_deploy,
type: "POST",
async: true,
data: { id:selectedId},
dataType: 'json',
success: function (result) {
$('#prix').val(result.Value);
}
});
}
</script>
我的PHP:
public function getPrix()
{
if (isset($_POST['id']))
{
$iIdGift = $_POST['id'];
}
$o_Article = Article::find($iIdGift);
$prix = $o_Article->articlePrice();
error_log(print_r($prix,true), 3, "/var/tmp/error.log");
return json_encode($prix);
}
我测试了PHP代码,它工作正常。问题是当我尝试填充选择框时,我想在成功方法中。请帮帮我!提前谢谢!
答案 0 :(得分:1)
给定返回JSON的格式:
json的格式如下:{“id”:“59.90”}
您需要使用id
键访问该值,请尝试以下操作:
success: function (result) {
$('#prix').val(result.id);
}
答案 1 :(得分:1)
<input type="text" id="{{ form_gift.prix.name }}" name="{{ form_gift.prix.name }}" value="" placeholder="" class="form-control txtPrix" required="required"/>
success: function (result) {
$('.txtPrix').val(result.id);
}