JQuery 自动完成:如何处理修改?

2024-01-08

我有自动完成功能,但如何处理修改?

当用户修改原始选择时会发生什么?我有一个自动完成功能,当选择列表时,会填写其他字段。如果用户选择列表,然后尝试将其修改为新的内容(与我们数据库中的任何内容都不匹配),则其他字段需要清除。

另一种提问方式:我如何处理“新”列表?

我的代码如下

$(function() {
    $( "#oName" ).autocomplete({
        source: "include/organizerList.php",
        minLength: 3,
        select: function( event, ui ) {
            $("input#oID").val(ui.item.oID);
            $("input#oCID").val(ui.item.oCID);
            $("div#organCity").text(ui.item.oCity);
            $("div#organCountry").text(ui.item.oCountry);
        }
    });
});

组织者列表.php

// important to set header with charset
header('Content-Type: text/html; charset=utf-8');

$term = htmlspecialchars(strtolower($_GET["term"]));

$return = array();
    $query = mssql_query("SELECT CID, oID, oName, oCity, oCountry FROM TradeShowDB_Organizers WHERE oName LIKE '%$term%'");
    while ($row = mssql_fetch_array($query)) {
    array_push($return,array( 'oCID'=>$row['CID'], 'oID'=>$row['oID'], 'label'=>$row['oName'] . ', ' . $row['oCity'], 'value'=>$row['oName'], 'oCity'=>$row['oCity'], 'oCountry'=>$row['oCountry'] ));
}

// encode it to json format
echo(json_encode($return));

My html:

<input type="text" tabindex='20' id="oName" name="oName" size="60" maxlength="200" value="<?php echo $oName; ?>">
<div id='organCity'></div>
<div id='organCountry'></div>
<input type="hidden" id="oID" name="oID" value="<?php echo $oID; ?>">
<input type="hidden" id="oCID" name="oCID" value="<?php echo $oCID; ?>">

您可以使用自动完成功能select event http://jqueryui.com/demos/autocomplete/#event-select http://jqueryui.com/demos/autocomplete/#event-select

用户选择选项后禁用输入

$("#oName").autocomplete({
    source: "include/organizerList.php",
    minLength: 3,
    select: function (event, ui) {
        this.value = ui.item.value;
        $('#autocomplete').autocomplete("disable");
        $('#autocomplete').trigger('keypress'); //needed to fix bug with enter on chrome and IE
        $(this).attr('disabled','disabled');
        return false;
    },
    autoFocus: true
});

http://jsfiddle.net/HKxua/6/ http://jsfiddle.net/HKxua/6/

然后在服务器端脚本中,您可以检查输入以查看数据库中是否存在发布的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery 自动完成:如何处理修改? 的相关文章

  • 使用回退异步加载 jquery 核心

    通过标头中的性能优化和非阻塞脚本 我一直在尝试异步加载 jquery 本身 我遇到了一个jQuery 加载器 http www yterium net jQl an asynchronous jQuery Loader脚本 那个async加
  • 服务容器的使用寿命是多少?

    我正在尝试了解 Symfony2 框架 来自 Java Spring 背景 我意识到 Symfony2 中的 Scope 与 Spring 中的 Scope 不同 此外 通过 Symfony3 范围已弃用 https stackoverfl
  • PHP GoDaddy 最大执行时间不起作用

    默认 maximun execution time 为 120 秒 我已按照所有说明创建 php ini 文件并将其放置在正确的位置 public html 中 我运行 phpinfo 发现 maximun execution time 已
  • Rails 3.1 + 回形针 + jQuery 文件上传

    我一直在寻找一种设置 Ruby on Rails 3 1 的方法回形针 https github com thoughtbot paperclip and jQuery 文件上传 https github com blueimp jQuer
  • 使用 utf-8 文件名发送 MIME 编码的电子邮件附件

    你好亲爱的人们 我花了三天时间在网上搜索答案 但没有找到任何答案 我发现了很多 几乎 的案例 但没有一个正是我正在寻找的 我能够获取希伯来语的主题和正文消息 但无法获取希伯来语的附加文件名 顺便说一句 我对 PHPMailer 等第三方程序
  • 使用 jquery 触发 css3 关键帧

    我写了一个关键帧动画 webkit keyframes cubemove 0 webkit transform translateZ 194px rotateY 0deg 20 webkit transform translateZ 194
  • 两个单独表格上的 Td 高度

    我有两个单独的表 我在每个 tr 上使用焦点 悬停函数 该函数同时在两个表上都很好用 我的问题是 td 高度 因为如果第一个表中 td 的描述更大 将显示在中的两行上相同的td和td的高度将被修改 但仅限于第一个表td 如何记住第一个表中
  • 使用 javascript 根据索引合并多个数组

    我需要将两个数组合并为一个数组 我有代码 但它没有按预期工作 它将它们一个接一个地合并 但我需要互锁这些值 div div
  • 终端从包含空格的变量传递参数

    在终端中如何将包含空格的字符串作为参数传递 它实际上跳过了空格后面的部分 只取第一个单词 word soccer ball shell exec casperjs test js word word 那么我怎样才能转义空白它只运行这个命令
  • 差异:查看页面源代码与在 Firebug 中查看

    当我查看页面的页面源时 例如 http my sa ucsb edu public curriculum coursesearch aspx http my sa ucsb edu public curriculum coursesearc
  • 有没有办法通过给出整数值 PHP 来获取月份名称

    您好 我正在使用 PHP 我想传递一个整数值 1 12 并获取相应的月份名称 PHP 中有没有办法做到这一点 或者我必须通过初始化月份名称数组来完成自己的操作 我想做 month name get month name 1 echo mon
  • WordPress ~ 如何在一页上显示多个 Google Chart?

    下面是我插入到 WordPress Visual Composer 中的原始 HTML 块中的一个 Google 图表的代码 图表 ID 名称为 chart div1 这适用于我的 WP 网页
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • Php mod_rewrite 无法正常工作

    我有一个带有以下链接结构的 php 页面 http localhost wisper businesspage php profile creativeartbd 所以我尝试将此链接转换为以下样式 http localhost wisper
  • 以编程方式添加数字签名外观?

    我正在以编程方式对我的 PDF 文件进行签名 并且我想将签名外观添加到 PDF 我需要哪些对象才能实现此目的 我知道我必须Annotations BBox and XObject但我真的不知道按什么顺序以及是否需要其他东西 调试此类内容以找
  • Javascript TypeError:无法读取未定义的属性“indexOf”

    在此代码中 我想从cart products array var cart products 17 1 19 1 18 1 var product 17 each cart products function key item if ite
  • 在 Laravel Schema 中创建价格列

    我想在 Laravel 模式中创建一个价格列 public function up Schema create cameras function Blueprint table table gt increments id table gt
  • jQuery/JavaScript:仅选择子级的第一个“层”

    我试图仅选择给定类型的子元素的第一 层 而不选择嵌套在另一个限定元素内的元素 例如 在 div div class special div class special div div div div class special div di
  • Codeigniter,为MySQL创建表和用户

    我想以编程方式使用 CI 创建数据库和用户 到目前为止 我有这 2 个简单的 MySQL 语句 CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8 general c
  • 使用 Ajax 和 PHP 上传图像

    我想将图像上传到我的服务器 并控制 HTML 代码中的 PHP 回显 为此 我想使用 jQuery Ajax 但我不知道如何使用 Ajax 将图像发送到 PHP 这是一个大学项目 所以我不能使用任何类型的插件 我的实际代码 HTML

随机推荐