将文本更改为下拉列表

时间:2012-08-01 21:04:18

标签: javascript jquery drop-down-menu

我有很大的价值观。起初,每个值都是下拉。但加载速度非常慢(+15秒)。 所以我想在我的网格(常规表)中使用文本,并在双击文本时使用下拉列表。 这可能吗 ? 另外,是否可以使用telerik下拉?

这是一个例子:一个包含颜色的网格(例如:蓝色,蓝色,红色,黄色......)。 双击该单词时,下拉列表将替换所选文本。下拉列表将包含所有可用颜色:蓝色,红色,黄色。之后,当选择该值时,下拉将消失,文本将显示新值。

到目前为止,我得到了这个:

$(function () {
    $('.colorGrid').dblclick(function () {
         debugger;
        $(this).html("<select class=\"resultMenu\" id=\"resultMenuID\" size=\"1\"></select>");
        $(this).children("select").append('<option value=1>Black</option>');
        $(this).children("select").append('<option value=2>Red</option>');
        $(this).children("select").append('<option value=3>Blue</option>');
        $(this).children("select").append('<option value=4>Yellow</option>');
    });
    $('#resultMenuID').change(function (event) {
        debugger;
        $(this).html("<td>test</td>");
    });
});

我接近目标。现在我需要将选中的结果放回到td标签中,并且select必须消失!永远不会调用更改选择功能。有谁知道为什么?

1 个答案:

答案 0 :(得分:1)

如果需要+15秒,那么您一定要选择AJAXhardcoding the dropdownvalues in javascript strings.

正如MrOBrian所说,我不能仅根据您的一两行问题向您提供代码。您必须上传现有的问题代码才能从此处获得解决方案。但是我可以给你一个想法。

说这是你的颜色块

<div id="colour-block-list">
    <div id="red-block" class="colour-block">
    Red
    </div>
</div>

你必须添加一个onclick处理程序。

$(".colour-block").click(function(){

  //call your ajax or get values from hard coded javascript string
   $(this).html("<select></select>");
   $(this).children("select").append(list_of_options);


});