HTML JQuery:将选定的值onclick传递给元素名称

时间:2015-04-26 00:12:29

标签: javascript jquery html forms

我目前有一个下拉菜单,因此用户可以选择一个选项来优化搜索:

<button name = "toggle" tabindex="-3" data-toggle="dropdown" class="btn btn-default dropdown-toggle" type="button">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>

<ul class="dropdown-menu" >
<li><a href="#" name="restuatant"><span class="t">restaurant</span></a></li>
<li><a href="#" name="active"> <span class="t">beauty salon</span></a></li>
<li><a href="#" name="bars"> <span class="t">bars</span></a></li>
<li class="divider"></li>
<li><a href="#" name="other"> <span class="t">other</span></a></li>
</ul>

我想要做的是从下拉菜单中选择一个选项来更新元素名称,这样我就可以访问在提交后的表单上选择的内容。在我得到这个的那一刻:

$(document).ready(function(){
     $('ul.dropdown-menu li').click(function()
     {
       var field = document.createElement("input");
       field.name=$(this).find("span.t").text();
     }
     });
     });

我如何去做我指定的事情,因为我有点不确定

1 个答案:

答案 0 :(得分:1)

如果我已正确理解了该问题,您需要创建input元素并在click事件上更新它的name属性。如果是这种情况,您可以编码:

$(document).ready(function() {
     // create an input and append to #somewhere
     var $field = $('<input>').appendTo('#somewhere');
     $('ul.dropdown-menu li').click(function() {
         $field.prop('name', $(this).find("span.t").text());
     });
});

如果要在第一次点击时生成元素:

var $field;
$('ul.dropdown-menu li').click(function() {
     var name = $(this).find("span.t").text().trim();
     if ( !$field ) {
        $field = $('<input>', {
           'type': 'text'
        }).appendTo('#somewhere');
     }
     $field.prop('name', name);
});