我正在试着找出一些超出我能力范围的事情,所以请容忍我。
我正在尝试做的是让用户填写一个配置文件,允许他们从Livesearch输入中选择最多四个城市。然后,我想单独使用这些城市值,从存储在数据库中到作为url参数传递。
如何将它们从逗号分隔的值字符串中提取出来,并为它们指定自己的名称?
举例说明。
如果他们选择了纽约、芝加哥、迈阿密和达拉斯,那么我会得到;
<input type="text" id="Locations" name="Locations" value="New York,Chicago,Miami,Dallas">我想要的是;
name="city1" value="New York"
name="city2" value="Chicago"
name="city3" value="Miami"
name="city4" value="Dallas"脚本;
<input type="text" id="Locations" name="Locations" />
<button type="submit" class="btn">Submit</button>
<script type="text/javascript">
$(document).ready(function() {
$("#Locations").tokenInput([
<?php include 'city-list.php'; ?>
], {
tokenLimit:4
});
});
</script>一切正常,我只需要在提交表单时将值分开,我认为可能是隐藏字段。我环顾四周,就是找不到任何有帮助的东西。任何事都会很棒。
发布于 2014-03-17 23:12:12
可以使用tokenValue参数来实现这一点,该参数可以传递给一个函数。
从技术角度来看,我建议使用JSON来包含您想要发送的信息。(我不知道您之后要用它做什么,您可以根据需要调整此示例。)
尝试如下所示:
<script type="text/javascript">
$(document).ready(function() {
$("#Locations").tokenInput([
<?php include 'city-list.php'; ?>
], {
tokenLimit:4,
tokenValue: function(param, el){
var token = { "name" : //Do something clever here to generate the names you want. You can get the city name of the token under param.name.
"value" : param.name,
};
return JSON.stringify(token);
}
});
});
</script>注意:我不是很清楚你想用什么值来命名你的“名字”。希望你能适当地修改这个例子!
发布于 2015-06-29 19:13:54
我知道这很陈旧,但我不喜欢看到未回答的问题。
在提交表单时,OP似乎只是想要分隔一个逗号分隔的字符串。
您可以在PHP脚本中通过将字符串分解为数组来完成此操作。
$cityArray = explode(',', $cityString); 这将把这些值分离到一个PHP数组中,然后您可以随意使用它。
https://stackoverflow.com/questions/22390996
复制相似问题