0
我有一個包含文本框和選擇框的表單。我正在向PHP頁面發送Ajax請求,並且根據該請求自動填寫此表單。關於填充文本框沒有問題,但如何確定選定的選擇框選項?任何幫助將被appriciated。如何根據Ajax請求更改選擇框選擇選項
$(document).ready(function(){
$("#companyFillSelectBox").change(function(){
var value = $("select#companyFillSelectBox option:selected").val();
$.ajax({
type: 'POST',
url: 'companyFill.php',
dataType: "json",
data:{companyID:value},
success:function(answer){
$('#companyNameText').val(answer[0].companyName);
$('#companyAddressTextArea').val(answer[0].companyAddress);
$('#companyNetAdressText').val(answer[0].companyWebAddress);
$('#companyPhoneText').val(answer[0].companyPhone);
$('#companyFaxText').val(answer[0].companyFax);
$('#companyCeoText').val(answer[0].companyCeo);
$('#companyHRText').val(answer[0].hrDirector);
$('#numOfIengText').val(answer[0].numOfIENG);
$('#numOfEngText').val(answer[0].numOfENG);
$('#numOfWhiteCollarsText').val(answer[0].numOfIENG);
$('#totalEmpText').val(answer[0].numOfEmployees);
$('#establishmentYearText').val(answer[0].yearOfEstablishment);
$("#fieldOfBusinessSelectBox option[value=answer[0].yearOfEstablishment]").attr('selected', 'selected');
},
error:function(){
alert("An error has occured !");
}
});
});
});
在第一個解決方案中,'attr()'不起作用。改用'prop()'。我還想補充一點,如果有多個選項具有相同的值,第一個解決方案(使用prop)將選擇最後一個出現選項,而第二個(使用val)將選擇第一個出現選項。 – Traze 2014-10-02 16:08:21
'attr'確實有效 - '道具'不是必需品,儘管在這裏常見的是看到人們堅持要你**必須使用'道具'。他運行的是什麼版本的jQuery?我們不知道。而且由於這個問題甚至沒有提到重複的價值,所以這並不重要。他們可能被禁用,或不可見。這些代碼運行後可以動態添加它們。沒有「假設」的結束,所以我只是堅持這個問題;) – Archer 2014-10-02 16:14:20
我堅持我評論的重要性。 'attr'不會觸發FireFox中的選擇。人們在這裏堅持這一點是有原因的。此外,使用'selected'屬性是一種設置價值的混亂方式。唯一的情況是重複值選項(即默認爲0,頂部爲空白選項)。 – Traze 2014-10-02 16:42:29