我有這些:如何使用下拉列表中的值來隱藏隱藏表單域?
$(document).ready(function() {
getRequestCategories();
$('#requestCategory').change(function() {
getRequestDescriptions($(this).val());
});
});
function getRequestCategories() {
$.ajax({
url: 'getCategories.php',
dataType: 'json'
})
.done(function(categoryInfo) {
$(categoryInfo).each(function(i, category) {
$('<option>').val(category.RequestCategoryDisplay).text(category.RequestCategoryDisplay).appendTo($('#requestCategory'));
})
});
}
function getRequestDescriptions(requestCategory) {
$.ajax({
url: 'getDescriptions.php',
dataType: 'json',
data: { requestCategory: requestCategory }
})
.done(function(descriptionInfo) {
$(descriptionInfo).each(function(i, description) {
$('<option>').val(description.RequestDescriptionDisplay).text(description.RequestDescriptionDisplay).appendTo($('#description'));
})
});
}
Category
<select name="requestCategory" id="Category" style="width:250px;font-size:10pt;" class="changeable" data-summary="summCategory">
<option value=""></option>
</select>
Description
<select name="description" id="description" style="width:250px;font-size:10pt;" class="changeable" data-summary="summSubCategory">
<option value=""></option>
</select>
它是如何工作目前:
當您選擇從Category
下拉列表中值,與您的選擇相關聯的所有值都將自動進入description
下拉。
這工作正常。
但是,我們有一個新的要求,從description
下拉用戶的選擇來填充下面隱藏的表單字段:
<input name="RequestID" id="RequestID" type="text" width="300" value="" class="changeable" />
換句話說,一旦description
下拉列表與值填充從Category
基於選擇下拉菜單,然後當用戶從description
下拉列表中選擇其中一個值時,RequestID的伴隨值應保存到隱藏表單字段中。
我試着修改getDescriptions函數,但我沒有得到正確的值。
我從描述下拉列表中選擇的每個值都給了我相同的RequestID值。
你能看到我做錯了嗎?
非常感謝。
function getDescriptions(requestCategory) {
$.ajax({
url: 'getDescriptions.php',
dataType: 'json',
data: { requestCategory: requestCategory }
})
.done(function(descriptionInfo) {
// get number of items in array given by php
var Desc_count = descriptionInfo.length;
// loop request descriptions
for (var i = 0; i < Desc_count; i += 1) {
// append an <option> tag to your <select>
$('#description').append('<option value="' + descriptionInfo[i].RequestID + '">' + descriptionInfo[i].RequestDescriptionDisplay + '</option>');
}
// Listen for the value of the <select> to change
$('#description').on('change', function() {
// get the value of the selected option ,the value is the descriptionInfo[i].RequestID
var value = $("#description option:selected").val();
// Set the value of the hidden fields based on the <select>'s ID choosing the corret array element
$('input[name="RequestID"]').val(value);
});
});
}
嘗試將 「更改偵聽器」 之外的功能在requestCategory更改偵聽器之後。 – Wilmer