【问题标题】:Convert PHP For loop to Javascript? [closed]将 PHP For 循环转换为 Javascript? [关闭]
【发布时间】:2015-04-17 20:36:49
【问题描述】:

下面的代码可以改成JavaScript吗?

foreach ($liftdeets as $lifts) {
    echo '<option>'.$lifts["LiftMakes"].'</option>';
}

【问题讨论】:

    标签: javascript php foreach


    【解决方案1】:

    Javascript 与 PHP 的foreach 有类似的方法,这里是一个例子:

    var test = [
        {a: 1, b: 2,},
        {a: 3, b: 4,}
    ];
    
    test.forEach(function(val){
        console.log(val.a);
    });
    

    【讨论】:

    • var var?真的吗? => Uncaught SyntaxError: Unexpected token var
    【解决方案2】:

    如果我们需要从字面上“转换”它:

    <script>
    var liftdeets = <?php echo json_encode($liftdeets); ?>;
    
    for (var i = 0; i < liftdeets.length; i++) {
        document.write('<option>' + liftdeets[i]["LiftMakes"] + '</option>');
    }
    </script>
    

    似乎它与问题中提到的 PHP 代码相同。

    附:请注意,我有点开玩笑,您应该注意我们以更“优雅”的方式使用 DOM 树的答案。

    【讨论】:

      【解决方案3】:

      您可以为此使用 javascript 函数:

      function addOptions() {
          var selectDropdownElement = document.getElementById('selectElementId');
      
          for (var i = 0; i<=100; i++){
              var options = document.createElement('option');
              options.value = i;
              options.innerHTML = i;
              selectDropdownElement.appendChild(options);
          }
      }
      

      【讨论】:

        【解决方案4】:

        你有很多方法,这里列出了一些:Adding options to a select and selecting one on internet explorer

        var option = new Option(data[i].name, data[i].id);
        

        由于旧的 IE 不喜欢操​​纵 select/option,你应该这样做:

        var HTMLselect = '<select>';
        for (var i = 0; i<=100; i++){
            HTMLselect += '<option value="' + i + '">' + i + '</option>';
        }
        HTMLselect += '</select>';
        

        这样更短、执行速度更快,并且可以防止跨平台问题。

        【讨论】:

          猜你喜欢
          • 2018-05-10
          • 2020-09-03
          • 1970-01-01
          • 1970-01-01
          • 2021-12-16
          • 2016-07-01
          • 1970-01-01
          • 2021-03-07
          相关资源
          最近更新 更多