2 回答
TA贡献1895条经验 获得超7个赞
您需要以某种方式在客户端代码(js)中传递您想要的数据。现在,您只需将客户名称嵌入 html 中,即可从 js 访问该名称(通过选项值)。如果您还想访问剩余数据,则需要传递它。一种解决方案可能是jquery 支持的data html 属性 。
<?php
$lines = file('customers.txt');
?>
<select class="select" style="width: 250px;" name="mylist" id="mylist" required="">
<option selected="selected" value="">Select Your Company</option>
<?php foreach($lines as $line){
$customers = explode(',', $line);
echo '<option value="'.$customers[0].'" data-line="'.$line.'">'.$customers[0].'</option>'; }?>
</select>
<input type="text" id="inputid" placeholder="Company Name">
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script>
$("#mylist").change(function(){
var line = $(this).find('option:selected').data('line');
$("#inputid").val(line);
});
</script>
在这里,我添加一个名为 line 的数据属性data-line="'.$line.'",其中包含文件中的整行,并将其添加到每个选项标记中。
然后在js中可以读取所选选项的数据属性var line = $(this).find('option:selected').data('line');。
如果您需要更多地控制文件中的可用内容,您可以使用文件中选定的列引入多个数据属性,或者将其作为 json 字符串并在 js 中读取您想要的内容。
TA贡献1813条经验 获得超2个赞
我想这可能对你有用?
<?php
$lines = file('customers.txt');
?>
<select class="select" style="width: 250px;" name="mylist" id="mylist" required="">
<option selected="selected" value="">Select Your Company</option>
<?php
foreach ($lines as $line_num => $line) {
$customers = explode(',', $line);
echo " <option value='{$customers[0]}' data-street='{$customers[1]}' data-extension='{$customers[2]}' data-zipcode='{$customers[3]}'>{$customers[0]}</option>";
}
?>
</select>
<textarea id="inputid" rows="4" cols="50" placeholder="Company Name"></textarea>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" crossorigin="anonymous"></script>
<script>
$("#mylist").change(function() {
var street = $('select option[value=' + this.value + ']').data('street');
var extension = $('select option[value=' + this.value + ']').data('extension');
var zipcode = $('select option[value=' + this.value + ']').data('zipcode');
$("#inputid").val(street + '\n' + extension + '\n' + zipcode);
});
</script>
- 2 回答
- 0 关注
- 100 浏览
添加回答
举报