Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向动态填充的JQuery添加HREF选择_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 向动态填充的JQuery添加HREF选择

Javascript 向动态填充的JQuery添加HREF选择,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个基于表单的菜单,可以自动用主导航UL的内容填充选择选项。它用反映菜单位置的破折号奇妙地增加了 但是,它不使用ULs内链路的HREF填充 这是我的代码: <script> $(function() { var options = '<option selected></option>'; $('#primary-nav').find('a').each(function

我有一个基于表单的菜单,可以自动用主导航UL的内容填充选择选项。它用反映菜单位置的破折号奇妙地增加了

但是,它不使用ULs内链路的HREF填充

这是我的代码:

 <script>
        $(function() {
                var options = '<option selected></option>';

                $('#primary-nav').find('a').each(function () {
                    var text = $(this).text(),
                    depth = $(this).parent().parents('ul').length,
                    depthChar = '',
                    i = 1;
                    for (i; i < depth; i++) { depthChar += '&ndash;&nbsp;';
                        }
                    options += '<option>' + depthChar + text + '</option>';
                });
                $('<select id=\'mobile-menu\' />').append(options).appendTo('#mobile-nav');

                $("#primary-nav select").change(function() {
                    window.location = $(this).find("option:selected").val();
                });

            });


        </script>

$(函数(){
var选项=“”;
$('#主导航')。查找('a')。每个(函数(){
var text=$(this).text(),
深度=$(this).parent().parents('ul').length,
深度字符=“”,
i=1;
对于(i;i
我需要以某种方式将下面的内容添加到上面,以便在单击时,所选选项将转到url,而不是基于显示值的url

$("#primary-nav a").each(function() {
var el = $(this);
$("<option />", {
 "value"   : el.attr("href"),
"text"    : el.text()
}).appendTo("#primary-nav select");
});
$(“#主导航a”)。每个(功能){
var el=$(本);
$("", {
“值”:el.attr(“href”),
“文本”:el.text()
}).appendTo(“#主导航选择”);
});
有人能告诉我怎么做吗


谢谢。

您只需在当前代码中添加value属性即可:

$('#primary-nav').find('a').each(function () {
    var text = $(this).text(),
        href = $(this).attr('href'),
        depth = $(this).parent().parents('ul').length,
        depthChar = '',
        i = 1;
    for (i; i < depth; i++) {
        depthChar += '&ndash;&nbsp;';
    }
    options += '<option value="'+href+'">' + depthChar + text + '</option>';
});
$('<select id=\'mobile-menu\' />').append(options).appendTo('#mobile-nav');
$('primary nav')。查找('a')。每个(函数(){
var text=$(this).text(),
href=$(this.attr('href'),
深度=$(this).parent().parents('ul').length,
深度字符=“”,
i=1;
对于(i;i