如何使用Jquery从数据库中获取值

How to fetch value from database using Jquery?

本文关键字:获取 数据库 何使用 Jquery      更新时间:2023-09-26
<div  class="border padding10 margin-bottom2">
    <label>Institute Name</label>
    <div id="div-sec-qual-inst-id" class="input-control select" data-role="input-control">
        <select id="sec-qual-inst-id" data-placeholder="Enter institute name" style="width:350px;" name="user.secHighQualInst" class="chosen-select" tabindex="-1">
            <option value=""></option>                                  
        </select>
    </div>

当用户从选择框中选择"其他"选项时,我想显示一个文本框,现在我的选项在数据库中。我尝试使用此代码

 $(function () {
    $("#sec-qual-inst-id").change(function () {
        if ($(this).val() == "#Others") {
             $("#other-sec-qual-inst-id").show();
        } else {
             $("#other-sec-qual-inst-id").hide();
        }
    });
});

但它不起作用,我正在使用 chosen.jquery.js。我需要改变一些东西吗?

    Handler.prototype.success = function(result, status, xhr){
        if(this.action == 'institutes'){
            institutes = result.campuses;
            $("#inst-id").append(getInstitutesHtml(institutes));            
            $("#inst-id").chosen();
        }else if(this.action == 'courses'){
            courses = result.courses;h
            $("#course-id").append(getCoursesHtml(courses));
            $("#course-id").chosen().change(function(that){
                var course = $("#course-id").val();
                var streams = {};
                var options = '<option value=""></option>';
                console.log(course);
                streams = courses[course];
                $.each(streams, function( index, value ) {
                    options = options+'<option value="'+value+'">'+value+'</option>'; 
                });
                $("#stream-id").html("");
                $("#stream-id").append(options);    
                if(flag){
                    $("#stream-id").chosen();
                    flag = false;
                }else{
                    $("#stream-id").trigger("chosen:updated");
                }
            });
        }else if(this.action == 'keyskills'){
            keyskills = result.keySkills;
            $("#keyskills-id").append(getKeyskillsHtml(keyskills));         
            $("#keyskills-id").chosen();
        }

    };

$('#sec-qual-inst-id').on('change', function() {
  if ($(this).val() == "others") {
  alert($(this).val());
  }else{
     alert($(this).val());
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div  class="border padding10 margin-bottom2">
                        <label>Institute Name</label>
                        <div id="div-sec-qual-inst-id" class="input-control select" data-role="input-control">
                            <select id="sec-qual-inst-id" data-placeholder="Enter institute name" style="width:350px;" name="user.secHighQualInst" class="chosen-select" tabindex="-1">
                                <option value="abc">abc</option>   
                              <option value="xyz">xyz</option> 
                              <option value="others">others</option> 
                            </select>
                        </div>

嗯...长短说,你不能从JavaScript中的数据库中获取值。(除非你使用像node.js这样的服务器端JavaScript(

一种方法是调用通过 XHR 创建的服务器终结点。传统的例子是这个...

本剧演员:

客户端(浏览器、JavaScript、CSS、HTML(

服务器端(LAMP堆栈,expressjs,Phoenix,Rails...任何可以响应HTTP请求,并且也有一些数据备份的东西(

第一幕:

  1. 用户点击"其他">
  2. 在客户端,JavaScript 正在侦听该事件
  3. JavaScript 向服务器上的端点创建一个 XHR GET 请求,比如"http://my-server.com/options">
  4. 服务器设置为处理 url "/options",因此它通过查询数据库以获取选项并将它们作为响应返回来处理请求(通常是 JSON(
  5. 客户端 JavaScript 接收响应,并将有效负载强制转换为可设置为选择菜单的数据结构
  6. 然后,客户端 JavaScript 将强制选项插入到菜单中,用户现在可以从他们花哨的数据库支持选项中进行选择。

在大多数情况下,这是网络的流动。有效载荷和交付机制有排列,但舞蹈仍然是一样的。

浏览器尽最大努力将您沙盒化,并且出于充分的理由,您能想象是否有人可以访问您的数据库吗?哎呀!

无论如何,不确定这是否有帮助,但你似乎有点迷茫,或者我误解了你的问题。希望这可以作为一个指南。