javascript - 如何为跨度实现 jQuery val()?

标签 javascript jquery dom jquery-plugins html

我有一些按跨度分组的选择元素。我正在创建一个插件来与元素进行一些交互。现在我想为我的用户提供 val() 函数的支持,以便他们能够获取或设置我的跨度的“值”。设置该值将导致选择框元素发生变化,而获取该值将导致添加选择框值。

基本上,我希望我的插件 添加对val() 方法的支持。关于如何实现这个的任何想法?

代码

<span id="test">
    <select id="one">
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    <select id="two">
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
</span>

挑战
让以下代码起作用:$('#test').val('1:1');$('#test').val() .

最佳答案

这不是一个完整的插件,我没有重写 val() 但它应该可以满足您的需求。

$.fn.value = function(value) {
    if (value) {
        var s = value.split(':');
        for ( var i = 0; i < s.length; i++ ) {
            this.find('select').eq(i).val(s[i]);
        }
    } else {
        var result = [];
        this.find('select').each( function( index, item ) {
            result.push($(item).val());
        });

        return result.join(':');

    }
}

$(function() {
    $("#test").value("2:2");
    alert($("#test").value());
});

您可以在 http://jsfiddle.net/QBSWm/1/ 上试用

关于javascript - 如何为跨度实现 jQuery val()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895342/

相关文章:

javascript - 使用JavaScript打开2个网站

javascript - 如何制作动态 iFrame 高度?

javascript - 如何创建不区分大小写的文本搜索

javascript - primefaces 命令按钮使用 jquery 更新数据表内

javascript - 单击单选按钮时事件的触发顺序是什么?

javascript - 媒体嵌入数据显示为字符串而不是 HTML

delphi - Delphi 7 使用 DOM 时发生访问冲突错误

javascript - 使用 webpack-dev-server 时 webpack 构建中缺少 bundle.js

php - 将 ReCaptcha 与 jQuery Validate 结合使用,给出正确的响应,但给出错误

Jquery 从脚本标签获取文本时出现问题?