Ошибка # 1
Вы не хотите использовать .click()
в качестве события, потому что click
запускает немедленно , когда пользователь нажимает на выпадающий, задолго до того, как они выберут новое значение.
Использование .change()
.
Ошибка # 2
Это неправильно:
data: "{'Name':'" + document.getElementById('txtaddcity').value + "'}"
Создает следующую строку:
{'Name':'some city name'}
и это не JSON. В JSON нет строк в одинарных кавычках, попытка разобрать это на стороне сервера завершится неудачей.
Не создавать JSON путем конкатенации строк. Всегда. Всегда используйте JSON.stringify()
.
data: JSON.stringify({Name: document.getElementById('txtaddcity').value}),
Это создаст действительный JSON из JS объекта, и сервер сможет успешно его проанализировать.