我有一个html表单来读取数据库中的数据。可以从选项列表中选择DB-request的值,并将其发送到输入字段。根据需要,可以创建其他输入字段。当所选值为单个单词时,这适用于以下函数:
enter code here
<script>
// Start of function for additional input fields
var counter = 1;
var limit = 10;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + "
inputs");
}
else {
// Create new div
var newdiv = document.createElement('div');
newdiv.innerHTML = '<br><input type="text" name="productinput[]"
class="awesomplete" list="productinputselect" size="20"/>';
document.getElementById(divName).appendChild(newdiv);
// Re instantiate Awesomplete
new Awesomplete(newdiv.querySelector('input'), { list:
document.querySelector('#productinputselect') });
// Set counter
counter++;
}
}
// End of function for additional input fields
// Start of function for sending selected values to input-field
function getSelectValues(select) {
var result = [];
var options = select && select.options;
var opt;
for (var i=0, iLen=options.length; i<iLen; i++) {
opt = options[i];
if (opt.selected) {
result.push(opt.value || opt.text);
}
}
return result;
}
function sendproductnameinput() {
var index = 0;
var inputs = document.formdatabaseDE.elements["productinput[]"];
var selected = getSelectValues(document.formdatabase.productselect);
// set the input values based on the selected options
for (var i = 0; i < selected.length; i++) {
if(index < inputs.length) {
inputs[index].value = selected[i];
index++;
}
}
// empty the remaining inputs
for (var i = selected.length; i < inputs.length; i++) {
inputs[i].value = '';
}
}
// End of function for sending selected values to input-field
</script>
但是,如果option-list中的值由2个或更多单词组成(由单个空格分隔),则只有第一个单词被发送到输入字段而不是整个术语。
如果有人可以帮我修改这个函数,以便将值完全发送到输入字段,我会非常高兴,尽管它们包含多于1个字。
答案 0 :(得分:0)
问题的解决方案是将单词用空格划分为1个术语的引号:
enter code here
while ($row = mysqli_fetch_assoc($result)) {
echo '<option class="optproduct" value='. $row['Name'] . '>' . $row
['Name']. '</option>'; echo '<br>'; }
成为:
enter code here
while ($row = mysqli_fetch_assoc($result)) {
echo '<option class="optproduct" value="'. $row['Name'] . '">' . $row
['Name']. '</option>'; echo '<br>'; }