在其他输入字段的select中使用值

时间:2017-12-15 09:43:58

标签: javascript php

我一直在尝试使用此select字段的值在其他输入字段中使用。

          <select class="form-control" id="size" name="size" onchange="divide()">

          <?php for ($i = 0; $i < $i_magneet; $i++) { echo '

                <option value="'.$magneet[$i][1].'|'.$magneet[$i][2].'|'.$magneet[$i][3].'">'.$magneet[$i][0].' cm</option>';

            } ?>

          </select>

当我回复'.$magneet[$i][1].'|'.$magneet[$i][2].'|'.$magneet[$i][3].'时,我得到80|21,52|40,95|15

我有这个JS代码发送到其他输入字段。

<script type="text/javascript">
function divide()
{
   var size = (selectVeld.options.value).split('|');
    // inkoop
    document.getElementsByName('inkoop').value = size[0];
    // verkoop
    document.getElementsByName('verkoop').value = size[1];
    // transport
    document.getElementsByName('transport').value = size[2];
}
function validate_add()
</script>

有输入字段:

      <input type="text" id="inkoop" name="inkoop" value="">
      <input type="text" id="verkoop" name="verkoop" value="">
      <input type="text" id="transport" name="transport" value="">

没有任何价值发送给任何人,有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您的JavaScript中有很多语法错误。几乎没有更正,你很好:

  1. this参数添加到divide()
  2. this参数传递给divide()
  3. 使用它来使用document.getElementById()来提取值。
  4. function divide(elem) {
      var size = (elem.options[elem.selectedIndex].value).split('|');
      console.log(size);
      // inkoop
      document.getElementById('inkoop').value = size[0];
      // verkoop
      document.getElementById('verkoop').value = size[1];
      // transport
      document.getElementById('transport').value = size[2];
    }
    <select class="form-control" id="size" name="size" onchange="divide(this)">
      <option value="0|0|0"></option>
      <option value="80|21,52|40,95|15">15 cm</option>
    </select>
    
    <input type="text" id="inkoop" name="inkoop" value="" />
    <input type="text" id="verkoop" name="verkoop" value="" />
    <input type="text" id="transport" name="transport" value="" />

答案 1 :(得分:2)

你可以试试这个。

稍微修改了你的代码

function divide() {
  var size = (document.getElementById("size").value).split('|');
  // inkoop
  document.getElementById('inkoop').value = size[0];
  // verkoop
  document.getElementById('verkoop').value = size[1];
  // transport
  document.getElementById('transport').value = size[2];
}
<select class="form-control" id="size" name="size" onchange="divide(this)">
<option></option>
 <option value="80|21,52|40,95|15">80|21,52|40,95|15</option>';
  </select>

<br><br>
<input type="text" id="inkoop" name="inkoop" value=""><br>
<input type="text" id="verkoop" name="verkoop" value=""><br>
<input type="text" id="transport" name="transport" value="">

答案 2 :(得分:1)

试试这段代码

使用document.getElementById代替document.getElementsByName并将this传递到function onchange select并获取e.value

之类的值

&#13;
&#13;
function divide(e) {

  var size = e.value.split('|');
  // console.log(size);
  // inkoop
  document.getElementById('inkoop').value = size[0];
  // verkoop
  document.getElementById('verkoop').value = size[1];
  // transport
  document.getElementById('transport').value = size[2];
}
&#13;
<select class="form-control" id="size" name="size" onchange="divide(this)">
<option></option>
 <option value="80|21,52|40,95|15">80|21,52|40,95|15</option>';
  </select>

<br><br>
<input type="text" id="inkoop" name="inkoop" value=""><br>
<input type="text" id="verkoop" name="verkoop" value=""><br>
<input type="text" id="transport" name="transport" value="">
&#13;
&#13;
&#13;