2 回答

TA貢獻1895條經驗 獲得超7個贊
您需要以某種方式在客戶端代碼(js)中傳遞您想要的數據?,F在,您只需將客戶名稱嵌入 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 關注
- 144 瀏覽
添加回答
舉報