У меня есть два элемента выбора, где вторые параметры выбора загружаются динамически в соответствии с параметрами первого элемента выбора.Я пытаюсь отказаться от значения параметра во втором элементе выбора.Вот мой код HTML, JS и Scrapy.
<form name=studlist method="POST" action autocomplete="off">
<input type=hidden name=token value=123>
<input type=hidden name=process value=getStudList>
<label for="studCode">Classes</label>
<select class="classlist" name=studCode onchange="getStudByClass(this.value)">
<option value="01" >First Standard </option>
<option value="02" >Second Standard </option>
</select>
<label for="Student">Classes</label>
<select class="classlist" name=Student id=Student>
</select>
</form>
Javascript
function getStudByClass(studCode) {
if(studId !== '') {
var options = '';
var optionDefault = '<option value="">Select Students </option>';
$.ajax({
url: JS_AJAX+'student_dtail_ajax.php',
type: "POST",
data: {'process': 'getStudList', studCode: studCode},
dataType: 'json',
beforeSend: function () {
$("#Student").html("<option value=''>Loading...</option>");
},
success: function (data) {
data=data['data'];
for (k in data) {
options += '<option value="' + data[k]['studId'] + '" >' + data[k]['studName'] + '</option>';
}
$("#Student").html(optionDefault + options);
},
complete: function () {
}
});
}
Когда я выбираю первый вариант первого элемента выбора, вкладка NETWORK XHR консоли консоли в консоли дает
Request URL: http://testsite.com/student_detail_ajax.php
Request METHOD: POST
Form Data
process: getStudList
studCode : 01
Response
{"data":[
{ "StudId" : "1001","StudName": "Titto"},
{ "StudId" : "1002","StudName": "Johny"}
]
}
Я пытаюсь удалить содержимое из вторых опций выбора, используя следующий код scrapy
allowed_domains = ['testsite.com']
start_urls = ['http://testsite.com/studSearch.php']
def parse(self,response):
yield scrapy.FormRequest(
'http://testsite.com/student_detail_ajax.php',
formdata = {'process': 'getStudList','studCode': '01'},
callback = self.parse_students
)
def parse_students(self, response):
print(response.body)
Я пытался передать studCode
статически, но я не получаю ответ.У кого-нибудь есть идеи, как это сделать.