我一直在尝试使用此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="">
没有任何价值发送给任何人,有什么建议吗?
答案 0 :(得分:2)
您的JavaScript中有很多语法错误。几乎没有更正,你很好:
this
参数添加到divide()
。this
参数传递给divide()
。document.getElementById()
来提取值。
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
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;