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