如何从外部插件中检索选定的下拉值?

时间:2013-12-08 13:00:47

标签: html css performance jquery-plugins

我从下拉列表中使用plugin,所有内容都已设置,但我无法获取下拉项目的值,因为它们已被选中。

HTML

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript" src="lib/jquery-1.2.6.js"></script>
<script type="text/javascript" src="lib/jquery.mcdropdown.js"></script>
<!---// load the mcDropdown CSS stylesheet //--->
<link type="text/css" href="css/jquery.mcdropdown.css" rel="stylesheet" media="all" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>


<style type="text/css">
div.test > div {
    float: left;
    width: 108px;
    margin-right: 40px;
}
div.mcdropdown {
    width: 110px;
}
ul.mcdropdown_menu {
    float: left;
    width: 110px;
}

</style>
</head>
<body>
<ul id="categorymenu" class="mcdropdown_menu">
    <li rel="1">Arts &amp; Humanities
    <ul>
        <li rel="2">Photography
        <ul>
            <li rel="3">3D </li>
            <li rel="4">Digital </li>
        </ul>
        </li>
        <li rel="5">History </li>
        <li rel="6">Literature </li>
    </ul>
    </li>
    <li rel="7">Business &amp; Economy </li>
    <li rel="8">Computers &amp; Internet </li>
    <li rel="9">Education </li>
    <li rel="11">Entertainment
    <ul>
        <li rel="12">Movies </li>
        <li rel="13">TV Shows </li>
        <li rel="14">Music </li>
        <li rel="15">Humor </li>
    </ul>
    </li>
    <li rel="10">Health </li>
</ul>
                                    

SCRIPT

function check()
{

  var mc=  $("#category").mcDropdown();

        alert(mc.getValue());

}
</script>

根据文档When a user selects an item from the menu, it is this value that is placed in a hidden element and therefore passed back to the server when the form is submitted.,我想知道所选项目的值,但是js只给我整数中的rel数字没有值,我怎样才能获得值或者我可以自我发布提交按钮到一个功能,我可以看到这些值是如何发送的。

感谢。

2 个答案:

答案 0 :(得分:2)

使用您的代码进行小修复我收到以下错误:

Uncaught TypeError: Cannot read property 'version' of undefined jquery.mcdropdown.js:78

来自插件的第78行:

var isIE6 = ($.browser.version && $.browser.version <= 6);

但是使用jQuery 1.9版删除了$ browser属性。请参阅$browser not defined

因此,如果您使用的是lates版本的jQuery,请尝试使用较旧的版本。

它适用于jQuery 1.2.6版。和1.7.0。没有测试中间版本。例如,包括:

<script src="http://code.jquery.com/jquery-1.2.6.min.js"></script>

它不适用于1.8.3。报告错误:

Uncaught TypeError: Object function (e,t){return new v.fn.init(e,t,n)} has no method 'curCSS' jquery.mcdropdown.js:694

在谷歌的帮助下,它获得了以下内容:

$(document).ready(function (){
    // dropdown reference and dropdown value
    var dd, val;

    // the option object to pass to mcDropdown
    // set neccessary callbacks
    var options = new Object();
    options.select = selectHandler;
    options.init   = initHandler;

    // initialize DOM element for mcDropdown
    $('#category').mcDropdown('#categorymenu', options);

    // create a reference to the dropdown
    // here you can set initial value
    function initHandler() {
        // get a copy of the object
        dd = $('#category').mcDropdown();

        // dd.setValue(yourID);
    }

    // called whenever someone changes a selection on mcDropdown
    function selectHandler() {
        val = dd.getValue();
        console.log(val);
    }
});

并在控制台中进行不同的选择:

"9", ""] 
["12", "Education"]
["10", "Entertainment:Movies"] 

答案 1 :(得分:0)

为这个非常棒的jQuery插件启动,以便检索选定的下拉列表 值:http://loudev.com/#demos"DO WHAT THE F*** YOU WANT TO PUBLIC LICENSE"下获得许可。