javascript - 使用选择更改 td 值而不传播事件

标签 javascript jquery html css

我有一个 jsfiddle 将 td 值替换为具有 2 个值的选择:http://jsfiddle.net/B47km/

当我单击 td 时,选择出现,但是当我要查看选项元素时,td 的单击事件抛出并且我无法显示选项。我该如何解决这个问题?

HTML:

<table>
    <td class="test">1</td>
</table>

js代码:

$(function () {
    $(".test").click(function (e) {
        e.stopPropagation();
        var currentEle = $(this);
        var value = $(this).html();
        select = '<select class="select-dorsal form-control" type="text">'
        +'<option name="1" value="1">1</option>'
        +'<option name="2" value="2">2</option>'
        +'</select>';
        $(currentEle).html(select);
    });
});

最佳答案

已为您修复 http://jsfiddle.net/B47km/3/这将只替换一次单元格内容,而不是每次您单击它时。

$(function () {
    $(".test").click(function (e) {
        var currentEle = $(this);
        var value = $(this).html();

        if ($(this).find('select').length === 0)
        {
            select = '<select class="select-dorsal form-control" type="text">'
            +'<option name="1" value="1">1</option>'
            +'<option name="2" value="2">2</option>'
            +'</select>';
            $(currentEle).html(select);
        }
    });
});

关于javascript - 使用选择更改 td 值而不传播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21626471/

相关文章:

javascript - 全日历 View 显示 goToDate 中断上一个、下一个和今天

javascript - 在 jQuery 中的某个点/字符处拆分字符串

html - 响应式 Div(已定位)

html - 使用 Bootstrap 水平堆叠全尺寸背景图像?

JavaScript循环从数组中随机选择

javascript - Mongodb 在使用异步时保持一致的顺序

javascript - 如何更改 <span> 元素的文本?

Javascript/jquery - 从字符串中获取第一个和最后一个单词然后用类包装

javascript - 如何从 HTML <td> 组件的内部文本中(仅)删除星号?

html - 如何仅使用CSS使父div的宽度等于子图像的宽度,子图像的高度等于父div的高度