2 回答
TA贡献1807条经验 获得超9个赞
我的代码中有两个错误导致无法工作,ajax 代码的 url 和成功部分。
工作代码:
$.ajax({
type:'POST',
url:'ajax_marque.php',
data:post_id,
success:function(data){
$('#choose_marque').html(data);
}
});
出于某种原因,我使用了“marque”而不是数据(我可能已经改变了它认为它是别的东西?)并且 url 是“../ajax_marque.php”。我想我必须从 javascript.php 文件所在的任何地方添加 url,而不是从它被调用的地方 (create.php)。
TA贡献1752条经验 获得超4个赞
我不认为您是否可以向 select withhtml方法添加选项。您必须创建option对象才能添加select对象。为了实现这一点,您需要将 ajax 方法的响应更改为 JSON 对象。
var selectMarque = function() {
// Remove current options from matque
$('#choose_marque').find("option").remove();
var typeID = $('#choose_type').val();
var post_id = 'id=' + typeID;
// There will be always value in post_id
// You have to check typeID to be sure if type picked
if (typeID) {
// sample ajax data
var testData = [{
"value": "1",
"text": "Option 1"
},
{
"value": "2",
"text": "Option 2"
},
];
// for each option data in testData
$.each(testData, function(offset, optionData) {
// append an option to select
$('#choose_marque').append($('<option>', {
value: optionData.value,
text: optionData.text
}));
});
} else {
// if empty value picked as type
// add sample option to marque
$('#choose_marque').append($('<option>', {
value: "",
text: "Select Type To Fill"
}));
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="choose_type_modele" id="choose_type" onchange="selectMarque()" required>
<option value="">Select Type</option>
<option value="1">Fill Select</option>
</select>
<select id="choose_marque" required>
<option value="">Select Type To Fill</option>
</select>
- 2 回答
- 0 关注
- 179 浏览
添加回答
举报