gpt4 book ai didi

jquery - codeigniter 文本框 id 中的 jquery 自动完成功能不起作用

转载 作者:行者123 更新时间:2023-11-28 02:53:15 25 4
gpt4 key购买 nike

我正在表格中创建表单和一个添加按钮、一个删除按钮和一个提交按钮。

当我单击添加按钮时,会创建一个额外的行,当我单击删除按钮时,该行会被删除。

这是我的浏览页面

<div style="overflow: scroll;">
<?php
$attributes = array('class' => 'form-horizontal', 'id' => 'form');
echo form_open('digital/add_task', $attributes);
?>

<table class="table" id="dataTable">
<thead>
<tr>
<th>Select</th>
<!--<th>Date</th>-->
<th>Types of Work</th>
<th>Worked With</th>
<th>Director</th>
<th>No of Hours</th>
<th>Task</th>
<th>Task Status</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="chk"/></td>
<!-- <td><input type="text" name="date[]" value="" /></td>-->
<td><input type="text" name="work[]" value="" id="task" />
<span class="text-danger"><?php echo form_error('work[]'); ?></span>
</td>
<td><input type="text" name="partner[]" value="" />
<span class="text-danger"><?php echo form_error('partner[]'); ?></span>
</td>
<td>
<select name="director[]">
<option value="hkn">HKN</option>
<option value="anita">Anita</option>
<option value="ravi">Ravi</option>
<option value="ameesha">Ameesha</option>
</select>
<span class="text-danger"><?php echo form_error('director[]'); ?></span>
</td>
<td><input type="text" name="time[]" value="" />
<span class="text-danger"><?php echo form_error('time[]'); ?></span>
</td>
<td><input type="text" name="task[]" value="" />
<span class="text-danger"><?php echo form_error('task[]'); ?></span>
</td>
<td><input type="text" name="status[]" value="" />
<span class="text-danger"><?php echo form_error('status[]'); ?></span>
</td>
</tr>

</tbody>
</table>
<input class="btn btn-primary" type="button" value="Add Row" onclick="addRow('dataTable')" />
<input class="btn btn-primary" type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
<input class="btn btn-primary" type="submit" name="submit" value="submit">
<?php
echo form_close();
?>

这是我的模型:

public function search_task($qs) {
/* comparing data with the text box */
$query = $this->db->query("SELECT work_name FROM task_name WHERE work_name LIKE ('$qs%') ORDER BY work_name LIMIT 5");
/* It checks the row in database table */
if ($query->num_rows > 0) {
foreach ($query->result_array() as $row) {
$row_set[] = htmlentities(stripslashes($row['work_name']));
}
echo json_encode($row_set);
}
}

这是我的 Controller :

public function task_search() {

if (!isset($_GET['term'])) {
exit;
}

$qs = strtolower($this->input->get('term'));
$this->digital_hodm_model->search_task($qs);
}

这是我的 jquery 文件:

<SCRIPT language="javascript">
function addRow(tableID) {

var table = document.getElementById(tableID);

var rowCount = table.rows.length;
var row = table.insertRow(rowCount);

var colCount = table.rows[1].cells.length;

for(var i=0; i<colCount; i++) {

var newcell = row.insertCell(i);

newcell.innerHTML = table.rows[1].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;

}
}
}

function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;

for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 2) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}


}
}catch(e) {
alert(e);
}
}

</SCRIPT>

<!-- This javascript is used for autocomplete search through database-->

<script type="text/javascript">

$(function(){

$("#task").autocomplete({
source: "<?php echo base_url();?>digital/task_search" // path to the task_search method
});
});


</script>

默认情况下,当我在工作类型文本框中键入内容时,我的第一行表格默认从数据库中选择了自动完成文本,但是当我通过单击添加按钮添加一个额外的行时,然后在工作类型字段中,当我键入内容时,然后自动完成未选择完整文本。

请帮我找到解决办法

最佳答案

您正在 $("#task") 上调用自动完成功能。因此具有该 id 的第一个元素获得自动完成功能。其余的被忽略。因此,要么向元素添加一个类,然后可以调用类上的自动完成功能:

$(".someclass").autocomplete({
source: "<?php echo base_url();?>digital/task_search" // path to the task_search method
});
});

或者您需要向 jquery 生成的新单元格添加一个 id。用这个

jQuery(this).attr("id","newId");

关于jquery - codeigniter 文本框 id 中的 jquery 自动完成功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38457783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com