我的JSP页面及其选项中有一个select2下拉列表。每当select2下拉列表的选项发生更改时,我想为它添加一个标题。我试着给它加上标题。但当我将鼠标悬停在select2框上时,标题不会出现。但是title属性会附加到select2下拉列表中。请帮我解决这个问题。

<select id="daySelect" title="select your day">
 <option val="0">Sunday</option>
 <option val="1">Monday</option>
 <option val="2">Tuesday</option>
 <option val="3">Wednesday</option>
 <option val="4">Thursday</option>
 <option val="5">Friday</option>
 <option val="6">Saturday</option>
</select>

最佳答案

标题未复制到用于在中显示选项的范围
选择2版本3.5*
但是,您可以更改select2.js,如下所示:-

populateResults: function(container, results, query) {
                var populate, id=this.opts.id, liveRegion=this.liveRegion;

                populate=function(results, container, depth) {

                    var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;

                    results = opts.sortResults(results, container, query);

                    // collect the created nodes for bulk append
                    var nodes = [];
                    for (i = 0, l = results.length; i < l; i = i + 1) {

                        result=results[i];

                        disabled = (result.disabled === true);
                        selectable = (!disabled) && (id(result) !== undefined);

                        compound=result.children && result.children.length > 0;

                        node=$("<li></li>");
                        node.addClass("select2-results-dept-"+depth);
                        node.addClass("select2-result");
                        node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
                        if (disabled) { node.addClass("select2-disabled"); }
                        if (compound) { node.addClass("select2-result-with-children"); }
                        node.addClass(self.opts.formatResultCssClass(result));
                        node.attr("role", "presentation");

                        label=$(document.createElement("div"));
                        label.addClass("select2-result-label");
                        label.attr("id", "select2-result-label-" + nextUid());
                        label.attr("role", "option");
                        if(result.element.length > 0 && result.element[0].title != undefined)
                            label.attr("title", result.element[0].title || '');

                        formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
                        if (formatted!==undefined) {
                            label.html(formatted);
                            node.append(label);
                        }


                        if (compound) {
                            innerContainer=$("<ul></ul>");
                            innerContainer.addClass("select2-result-sub");
                            populate(result.children, innerContainer, depth+1);
                            node.append(innerContainer);
                        }

                        node.data("select2-data", result);
                        nodes.push(node[0]);
                    }

                    // bulk append the created nodes
                    container.append(nodes);
                    liveRegion.text(opts.formatMatches(results.length));
                };

                populate(results, container, 0);
            }

这一次换行正是我们需要的:-
 if(result.element != undefined && result.element.length > 0 && result.element[0].title != undefined)
                            label.attr("title", result.element[0].title || '');

10-04 23:35
查看更多