簡體   English   中英

在Rails中在自動完成結果中添加link_to標記

[英]Adding link_to tag in autocomplete results in Rails

我正在嘗試添加鏈接以在自動完成結果中顯示頁面。 但是它不起作用。 我在下面發布我的代碼。 但是我試圖檢查我的jquery是否正在使用警告框執行。 它工作正常。 但是,當我嘗試使用jQuery為某些div添加css時,我無法進行。

//application.js

    xmlhttp.onreadystatechange = function()
    {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            var key = JSON.parse(xmlhttp.responseText);
            document.getElementById("search-display").innerHTML = "";
        }
        if(key.length == 0){
            document.getElementById("search-display").innerHTML = "No results found";
        }
        for( var i=0; i < key.length; i++){
            var display = key[i].firstname + "&nbsp&nbsp" + key[i].mobilenumber + 
               "\n" <%= link_to 'show', contact_path(@contact) %>;   //this line is not working

            document.getElementById("search-display").innerHTML += display;

            $(document).ready(function(){
                // alert("hello");
                **$("#search-display").css('background','white');** //this line is not getting executed 
            });

        }
    }

該JavaScript正在客戶端計算機上運行。 它無權訪問Rails助手。 您可以在服務器端(在控制器中)構建完整的URL,並在JSON響應中發送它。

javascript正在客戶端瀏覽器上運行。
它對Ruby on Rails一無所知,也不知道link_to含義是什么。

在這些情況下應使用的方法是:

  1. 調用javascript的鏈接
  2. 此時需要執行的所有必需的javascript(在此處禁用鏈接或搜索按鈕都是經常的操作),然后使用GET調用rails
  3. 接收來自Rails服務器的JSON響應
  4. 使用JSON信息(有時)來進一步更新屏幕。 例如,刪除復選框或填充建議下拉列表(根據您的情況)。

何時執行操作取決於您的特定需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM