This question already has answers here:
What is the difference between client-side and server-side programming?
                            
                                (4个答案)
                            
                    
                3年前关闭。
        

    

我有多个选择输入:

<select name="empleados[ ]" id="empleados" class="form-control inputstl"  onChange="getSelectedOptions(this)" multiple>
<option value=""></option>


我想在div上显示所选项目:

<div id="lista"></div>


我正在使用功能getSelectedOptions(this)获取所选项目:

<script>

function getSelectedOptions(sel) {
  var opts = [],
    opt;
    var div = document.getElementById('lista');
     div.innerHTML = "";
  var len = len = sel.options.length;
  for (var i = 0; i < len; i++) {

    opt = sel.options[i];

    if (opt.selected) {
      opts.push(opt);


      div.innerHTML =  div.innerHTML +  opt.value + " - ";
    }
  }

  return opts;
}
</script>


一切正常。
但是我需要转换返回的值。

例如,返回的数组为:567-858-363

我有一个外部PHP函数,该函数接收ID号并返回一个名称。

该函数是:get_nombre($ id)。

如何在JS内插入PHP函数?

我尝试如下,但会引发错误:

div.innerHTML =  div.innerHTML + " <?php echo get_nombre(?> opt.value<?php )?>" + " - ";

最佳答案

我很确定,此时您不需要PHP,因为选项应该已经有一个文本,可以使用了。

function getSelectedOptions(sel) {
  var opts = [],
    opt;
    var div = document.getElementById('lista');
     div.innerHTML = "";
  var len = len = sel.options.length;
  for (var i = 0; i < len; i++) {

    opt = sel.options[i];

    if (opt.selected) {
      opts.push(opt);


      div.innerHTML =  div.innerHTML +  opt.text + " - ";
    }
  }

  return opts;
}


如果选项的内部文本不包含所需的文本,则还可以使用数据属性并将所需的文本添加到其中。

<option value="someid" data-text="text">other text</option>


并使用javascript

var text = opt.dataset.text;

10-07 13:44
查看更多