У меня есть выбор элемента управления html HTML :
<select id="selectGroup" runat="server" name="D1">
</select>
Как мне заполнить его данными из моей базы данных SQL Server с помощью веб-службы JavaScript / jQuery / JSON?
Пожалуйста, не публикуйте ответы о том, как заполнить asp: DropDownList , потому что я уже знаю, как это сделать, я должен использовать элемент управления select.И не размещайте код позади, я уже знаю, как это сделать.
Я пробую его из веб-службы, чтобы выборка данных была хорошей, но она не заполнялась или не могла выбрать значение.Получить данные из базы данных, и значение первого столбца отображается только.
КОД ВЕБ-СЕРВИСА :
[WebMethod]
public string GetSelectOptionData() // to show select option in vehiclegroup. //trying
{
string jsondata = "";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString.ToString());
SqlCommand selectCommand = new SqlCommand("Select VehicleNo from sampleDeviceData", conn);
SqlDataAdapter da2 = new SqlDataAdapter(selectCommand);
DataSet ds2 = new DataSet();
conn.Open();
da2.Fill(ds2, "sampleDeviceData");
DataTable dt = new DataTable();
da2.Fill(dt);
jsondata = DataTableToJSONWithJavaScriptSerializer(dt);
conn.Close();
return jsondata;
}
JAVASCRIPT :
function SelectOptionData() {
var select = document.getElementById("selectGroup");
$("#selectGroup").empty();
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ShowTable.asmx/GetSelectOptionData",
data: "{}",
dataType: "json",
cache: false,
success: function (data) {
var filedata = [1];
var elements = Array();
elements = jQuery.parseJSON(data.d);
//alert(elements.length); // shows length of elements (var elements = Array();)
for (var i = 0; i < elements.length; i++) {
filedata.push({
ItemName: elements[i]['VehicleNo']
});
//alert(filedata.length); // shows length of filedata (var filedata = [0];)
//create the option and append to the dropdown
var opt = filedata[i + 1].ItemName;
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
select.appendChild(el);
}
},
failure: function (data) {
alert("err in select option");
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(xhr.responseText);
alert(thrownError);
}
});}