如何填充文本框

2024-05-19 15:21:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的主意

例如,我的清单上有这个

nameList = [
{ 'id': 1 , 'name': "Fred" },
{ 'id': 2 , 'name': "Dale" },
{ 'id': 3 , 'name': "Denmark" }
]

我的模板上有这个

例如:

Name: <input type='text' name='name'>
ID: <input type='hidden' name='id'>

我想在这里做的是,每当我在第一个文本框中键入“Fred”时,id就会自动变为1。如果我键入“Dale”,它就会变为2。我想做这种设计的原因是我只希望id保存到数据库中。我想我将需要使用javascript,但我不知道如何做到这一点。拜托。。。非常感谢你的帮助。先谢谢你


Tags: textname模板idinput键入typefred
3条回答

堆栈溢出不是代码服务。试着先做点什么,然后问个问题

不管怎样,这可能会有帮助

HTML格式:

Name: <input type='text' id='myName'>
<input type='hidden' id='myId'>

JS公司:

var myName = document.getElementById('myName');
var id = document.getElementById('myId');

var nameList = [
  { id: 1 , name: "Fred" },
  { id: 2 , name: "Dale" },
  { id: 3 , name: "Denmark" }
]

myName.addEventListener('keyup', function(e){
  var value = e.target.value;
  value = value.toLowerCase();

  for(var i=0; i<nameList.length; i++){
    var name = nameList[i].name.toLowerCase();

    if(name == value) {
        id.value = nameList[i].id;
      alert(nameList[i].id + ': ' + nameList[i].name);
      break;
    }
  }
}, false);

现场演示:https://jsfiddle.net/62h0qrqd/

也许你想要这个:

>>> def get_tag(name):
...     values = [x for x in nameList if name in x.values()]
...     return "Name: <input type='text' name='{}'>\nID: <input type='hidden' name='{}'>".format(values[0].get('name'), values[0].get('id'))
... 
>>> print get_tag('Dale')
Name: <input type='text' name='Dale'>
ID: <input type='hidden' name='2'>

没有足够的声誉发表评论,所以张贴它作为答案,但不知道你到底想要什么

如果您正在寻找像您键入的自动完成类型输入,它会给您建议,然后您选择任何一个建议,那么下面的示例可以帮助您。在这里,您可以灵活地将要显示给用户的内容和要用作值的内容保存在DB中

https://jqueryui.com/autocomplete/

http://demos.jquerymobile.com/1.0rc2/docs/forms/search/

如果这不是你想要的,那么请解释一下你的问题和你迄今为止的尝试

相关问题 更多 >