0
我有一個html文本框,它在jQuery UI - v1.11.4中使用了JavaScript自動完成功能。建議的文本框字符串是從我的數據庫中的表中串聯幾列(patient_no,patient_name,age和residence)。我想截斷部分字符串,因爲我只需要在我的文本框中放置patient_no列。Javascript - 在將文本放入文本框之前更改建議的文本
可能的文本建議: '00032 >>湯姆·邁克爾>> 14yrs >>華蘭生'
我想放置在文本框中什麼: ''
下面是我的代碼
//html
<input name="patientNo" id="patientNo" type="text" />
//autocomplete.php
$pat_no_seq_result = pg_query("SELECT patient_no || ' >> ' || surname || ' ' || other_name || ' >> ' || (current_date-year_of_birth)/365 || 'yrs' || ' >> '||residence FROM hp_outpatient_register;");
$dname_list = array();
while ($row = pg_fetch_row($pat_no_seq_result)) {
$dname_list[] = $row[0] ;
}
//javascript
<script type="text/javascript">
$(function() {
var availableTags = <?php include('autocomplete.php'); ?>;
$("#patientNo").autocomplete({
source: availableTags,//autoFocus: true
select: function(event, ui) {
getPatientNo(ui.item.value);
}
});
function getPatientNo(value) {
var patNo = value.substring(0, value.indexOf(' '));
document.getElementById("patientNo").value = patNo;
}
});
</script>
有沒有什麼辦法可以截斷用戶選擇的字符串,然後再將它放到文本字段中。如果有更好的方法與我使用的,請告知。
@ rz3r0我可以使用該方法,但放置在文本框中的文本是整個字符串;不是截斷的輸出。 – user5747822
你在做什麼是正確的。並不是說它「更好」,但可以將你的函數調用放在一行中。所以只需$(「#patientNo」)。val(ui.item.value.split(「」)[0]); – slopapa