我目前有一个下拉菜单,因此用户可以选择一个选项来优化搜索:
<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();
}
});
});
我如何去做我指定的事情,因为我有点不确定
答案 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);
});