簡體   English   中英

selectize.js 占位符寬度問題

[英]selectize.js placeholder width issue

我正在使用selectize.js jquery 庫來實現自動完成(自動建議)功能。

除占位符問題外,一切正常。

下面是我的代碼,我做了什么。

HTML 代碼

<input class="form-control" 
                   aria-describedby="basic-addon2"

                   name="q" 
                   id="q"
                   data-request="" 
                   data-request-success="console.log(data)" 
                   data-track-input="true" 
                   autocomplete="off" 
                   value="{{ search_value.q }}"
                   type="text"> 

JAVASCRIPT 代碼

$('#q').selectize({
    plugins: ['remove_button'],
    valueField: 'address',
    labelField: 'address',
    searchField: 'address',   
    placeholder:'Search Properties by suburb, region, postcode or address',                  
    create: true,    
    render: {
        item: function(data, escape) {
            return '<div>' + escape(data.address) + '</div>';
        }

    },
    load: function(query, callback) {
        if (!query.length) return callback();
        $.ajax({
            url:  base_url + '/search-property-autocomplete',
            type: 'POST',
            dataType: 'json',
            data: {
                q: query,

            },
            error: function() {
                callback();
            },
            success: function(res) {
                console.log(res.properties);
                callback(res.properties);
            }
        });
    }
});
$(".selectize-input input[placeholder]").attr("style", "width: 100%;");

這是我加載頁面時的樣子。

在此處輸入圖像描述

它顯示占位符的全文.. 但是當我要鍵入並獲得提示和 select 任何東西時,當我清除所有項目時,它的寬度減小並顯示如下所示。

在此處輸入圖像描述

如我們所見,占位符文本正在剪切。

這是一個視頻鏈接,它目前的行為如何 - http://www.screencast.com/t/B1w1TssUAelI

我試圖放置一些不起作用的事件。

有人可以幫我解決這個問題嗎?

好的,大家終於解決了這個問題,下面是我放入javascript文件中的代碼。

JAVASCRIPT代碼

$('#q').selectize({
    plugins: ['remove_button'],
    valueField: 'address',
    labelField: 'address',
    searchField: 'address',                 
    create: true,    
    render: {
        item: function(data, escape) {
            return '<div>' + escape(data.address) + '</div>';
        }

    },
    onChange: function(value) {
      $(".selectize-input input[placeholder]").attr("style", "width: 100%;");
    },
    load: function(query, callback) {
        if (!query.length) return callback();
        $.ajax({
            url:  base_url + '/search-property-autocomplete',
            type: 'POST',
            dataType: 'json',
            data: {
                q: query,

            },
            error: function() {
                callback();
            },
            success: function(res) {
                console.log(res.properties);
                callback(res.properties);
            }
        });
    }
});

$(".selectize-input input[placeholder]").attr('placeholder','Search Properties by suburb, region, postcode or address');
$(".selectize-input input[placeholder]").attr("style", "width: 100%;");

正如您在上面的代碼中看到的那樣,我在其中添加了以下代碼。

onChange: function(value) {
  $(".selectize-input input[placeholder]").attr("style", "width: 100%;");
},

每當我更新選區時,即使刪除所有選區,此寬度也將設置為100% ,這將起作用。

希望這可以幫助。

我發現使用 bootstrap,輸入上的 class of.form-control 神奇地解決了我使用 selectize 調整大小的問題。

暫無
暫無

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

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