Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 至于原因。每3到4页重新加载一次,值就在下拉列表之外,并像一堆不可读的文本一样重叠在一起。(见上图)我按下ctrl+shft+R来清除chromes缓存的css,它会返回到它的外观和功能。长篇大论,但确实如此。下面是我的ajax调用,其中包含一些注释,因此您可以看到我所做的。我相信可能会有更优雅、更直接的方法来实现这一点,但这是对我已有的改进。也许它会帮助其他人 function returnSymbols(cc) { var sendData = JSON.stringify({ 'ul': cc }); $.ajax({ url: '/Trucking/returnSymbols', type: 'POST', contentType: 'application/json', data: sendData, success: function (data) { var num = []; var num1 = []; //Push all returned values into num array $.each(data, function (index, value) { num.push(value); }); console.log(num); // console out to ensure values have been pushed //convert the string array into an int array for (var i in num) { num1[i] = parseInt(num[i]); } console.log(num1); //conosle out to ensure values have parsed correctly fillddl(num1); // send int array to fill drop down func }, error: function () { //alert('Error'); console.log('Error'); } }); }_Javascript_Jquery_Json_Ajax_Model View Controller - Fatal编程技术网

Javascript 至于原因。每3到4页重新加载一次,值就在下拉列表之外,并像一堆不可读的文本一样重叠在一起。(见上图)我按下ctrl+shft+R来清除chromes缓存的css,它会返回到它的外观和功能。长篇大论,但确实如此。下面是我的ajax调用,其中包含一些注释,因此您可以看到我所做的。我相信可能会有更优雅、更直接的方法来实现这一点,但这是对我已有的改进。也许它会帮助其他人 function returnSymbols(cc) { var sendData = JSON.stringify({ 'ul': cc }); $.ajax({ url: '/Trucking/returnSymbols', type: 'POST', contentType: 'application/json', data: sendData, success: function (data) { var num = []; var num1 = []; //Push all returned values into num array $.each(data, function (index, value) { num.push(value); }); console.log(num); // console out to ensure values have been pushed //convert the string array into an int array for (var i in num) { num1[i] = parseInt(num[i]); } console.log(num1); //conosle out to ensure values have parsed correctly fillddl(num1); // send int array to fill drop down func }, error: function () { //alert('Error'); console.log('Error'); } }); }

Javascript 至于原因。每3到4页重新加载一次,值就在下拉列表之外,并像一堆不可读的文本一样重叠在一起。(见上图)我按下ctrl+shft+R来清除chromes缓存的css,它会返回到它的外观和功能。长篇大论,但确实如此。下面是我的ajax调用,其中包含一些注释,因此您可以看到我所做的。我相信可能会有更优雅、更直接的方法来实现这一点,但这是对我已有的改进。也许它会帮助其他人 function returnSymbols(cc) { var sendData = JSON.stringify({ 'ul': cc }); $.ajax({ url: '/Trucking/returnSymbols', type: 'POST', contentType: 'application/json', data: sendData, success: function (data) { var num = []; var num1 = []; //Push all returned values into num array $.each(data, function (index, value) { num.push(value); }); console.log(num); // console out to ensure values have been pushed //convert the string array into an int array for (var i in num) { num1[i] = parseInt(num[i]); } console.log(num1); //conosle out to ensure values have parsed correctly fillddl(num1); // send int array to fill drop down func }, error: function () { //alert('Error'); console.log('Error'); } }); },javascript,jquery,json,ajax,model-view-controller,Javascript,Jquery,Json,Ajax,Model View Controller,然后使用函数将值实际发送到下拉列表。与我在其他方法中发现的非常相似 function fillddl(sym) { var s = ''; for (var i = 0; i < sym.length; i++) { s += '<option value="' + sym[i] + '">' + sym[i] + '</option>'; } $(".ddlMcalSymbols").html(s); } 函数fillddl(s

然后使用函数将值实际发送到下拉列表。与我在其他方法中发现的非常相似

function fillddl(sym) 
{
  var s = '';
  for (var i = 0; i < sym.length; i++) 
  {
    s += '<option value="' + sym[i] + '">' + sym[i] + '</option>';
  }
   $(".ddlMcalSymbols").html(s);
}
函数fillddl(sym)
{
var s='';
对于(变量i=0;i
请发布您的jsondata@Vishalmodi My Json数据是(61、62、65、66、70、71),只是数字。为什么要解析obj变量,然后显示数字?你不应该设置numbers=obj吗?如果我能看到你的警报文本,知道确切的JSON格式,那就容易多了。@RalphRitoch JsonParsing只是一个测试。把东西往墙上扔,看它是否粘在墙上。警报中返回的文本与注释上方的值相同。它返回61,62,65,66,70,71。。最后一个逗号会导致错误,但在警报中,这是返回的结果,我看到了它的样子。也许我最初尝试的方式实际上什么都没做。但我确实尝试过填写var数字。变量编号=[数据]或编号。推送(数据)。。这当然可能不起作用。我马上给你一个机会当我在某个迭代中遇到与预期不同的问题时,我会对每个变量进行console.log,看看哪个变量与预期不同:)我尝试了你的方法,但仍然不起作用。我将其分解并尝试var number=[];数字。推送(数据);$。每个(数字、函数(索引、值){console.log(值);});这在控制台中显示了所有值,但由于某种原因,同一数组无法填充下拉列表。这里涉及的因素太多,我看不到。。如果问题发生在JSFIDLE中,该怎么办?您可以通过从同一脚本调用ajax调用来伪造ajax调用,并提供一个示例字符串,说明您希望从服务器得到什么。你要么找出问题所在,要么给我所有的工具来解决问题,我就是这么做的。多次。我能看到什么有效,什么无效。我有一些非常奇怪的行为。我尝试了多种方法来解决这种行为,但我只能以一种四四方方/笨重的方式来解决。我制定了一个解决方案,我将在下面发布,以防其他人有同样的问题。我非常感谢你通过它进行的交流
 var sendData = JSON.stringify({ 'ul': cc });
$.ajax({
    url: '/Trucking/returnSymbols',
    type: 'POST',
    contentType: 'application/json',
    data: sendData,
    success: function (data) {
        //alert('success');
        console.log('success, yes');
        alert(data);
        var numbers = [];
        numbers.push(data);

        var option = '';
       //Added two for loops to show what I've tried. 
       for (var i = 0; i < numbers.length; i++) {
            option += '<option value="' + numbers[i] + '">' + numbers[i] + '</option><br>';
        }
        $('#ddlMcalSymbols').append(option);

       //Tried this option to fill ddl
        for (var i = 0; i < numbers.length; i++) {
            option = '<option value="' + numbers[i] + '">' + numbers[i] + '</option><br>';
            $('#ddlMcalSymbols').append(option);
        }
      //This Jquery foreach only returns one value to the ddl
      $.each(numbers, function (i, value) {
            console.log(value);
            option += '<option value="' + value[i] + '">' + value[i] + '</option>';
        });
        $('#ddlMcalSymbols').append(option); 

    },
    error: function () {
        //alert('Error');
        console.log('Error');
    }
});
[HttpPost]
public ActionResult getCicitesAction(int provinceId)
{
     var cities = db.cities.Where(a => a.provinceId == provinceId).Select(a => "<option value='" + a.cityId + "'>" + a.cityName + "'</option>'";

     return Content(String.Join("", cities));
}
$("province_dll").change(function(){
    $.ajax({
         url: 'getCitiesController/getCitiesAction',
         type: 'post',
         data: {
               provinceId: provinceIdVar
         }
    }).done(function(response){
         $("cities_dll").html(response);
    }); 

var listEl=$('#ddlMcalSymbols');
for (var key in obj) {
   jQuery('<option value="' + obj[key] + '">' + obj[key] + '</option>').appendTo(listEl);
}
function returnSymbols(cc) {

var sendData = JSON.stringify({ 'ul': cc });
$.ajax({
    url: '/Trucking/returnSymbols',
    type: 'POST',
    contentType: 'application/json',
    data: sendData,
    success: function (data) {
        var num = [];
        var num1 = [];

        //Push all returned values into num array
        $.each(data, function (index, value) {
            num.push(value);
        });
        console.log(num); // console out to ensure values have been pushed

        //convert the string array into an int array
        for (var i in num) {
            num1[i] = parseInt(num[i]);
        }
        console.log(num1); //conosle out to ensure values have parsed correctly
        fillddl(num1); // send int array to fill drop down func
    },
    error: function () {
        //alert('Error');
        console.log('Error');
    }
 });
}
function fillddl(sym) 
{
  var s = '';
  for (var i = 0; i < sym.length; i++) 
  {
    s += '<option value="' + sym[i] + '">' + sym[i] + '</option>';
  }
   $(".ddlMcalSymbols").html(s);
}