我們有一個MVC控制器返回JSON,這是我們想要的。
然後,我們使用選項來填充選擇列表,其中的值具有冒號。 JSON: {結果:{[ 「ValueOne」: 「選項1:我的選擇」, 「ValueTwo」: 「選項2:其它選項」]}MVC控制器返回JSON來填充選擇列表,但值需要冒號
我們用jQuery從$就填充列表
$("#EventNameDropdownList").change(function() {
GetEventDatesAndTimes();
})
function GetEventDatesAndTimes() {
var eventName = $('#EventNameDropdownList').val();// On get from EventNameDropdownList the value is coming back as "Option 1:" instead of the whole value.
var url = '@Url.Action("GetEventDateTimeByName", "Product")';
$("#EventIdAndDateDropdownList").find('option').remove().end(); // clear before appending new list
$.ajax({
url: url,
type: "GET",
cache: false,
dataType: "json",
data: { eventName: eventName },
success: function (data) {
console.log("Success");
if (data.eventDateTimeList.length) {
$.each(data.eventDateTimeList, function (i, event) {
console.log("ForEach: " + event.EventName);
$("#EventIdAndDateDropdownList").append("<option value=" + event.StartDateTime + ">" + event.StartDateTime + "</option>")
});
} else {
$("#EventIdAndDateDropdownList").find('option').remove().end(); // clear before appending new list
console.log("result NO data");
}
},
error: function() {
$("#EventIdAndDateDropdownList").find('option').remove().end(); // clear list
alert("An error occurred getting the Event Names");
}
});
}
這是工作,填充選項列表罰款。
例子我希望發生的事情:
<select>
<option value="Option 1: My Option">Option 1: My Option</option>
<option value="Option 2: My Option">Option 2: Other Option</option>
</select>
但實際上什麼出來
<select>
<option value="Option 1:" My Option>Option 1: My Option</option>
<option value="Option 2:" My Option>Option 2: Other Option</option>
</select>
正如你可以在選項值屬性的冒號後面的字符串終止看到,所以從整個價值帶冒號的JSON字符串不會被引號包圍。
可以逃脫結腸? –