如何从单个jQuery-TokenInput中提交多个值作为名称/值对
How to submit multiple values from a single jQuery-TokenInput as Name/Value pairs
我正在尝试解决一些超出我技能范围的问题,所以请耐心等待。
我想做的是让用户填写一份资料,允许他们从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>
一切工作,我只需要分开的值当表单提交,我想也许是隐藏的字段。我四处找了一下,就是找不到任何有用的东西。
您可以使用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>
注意:我不是很清楚你想用什么值来表示你的"名字"。希望您可以适当地调整这个示例!
我知道这是旧的,但我不喜欢看到没有答案的问题。
似乎OP只是想在提交表单时分隔逗号分隔的字符串。
您可以在PHP脚本中通过将字符串展开为数组来实现这一点。
$cityArray = explode(',', $cityString);
这将把这些值分隔成一个PHP数组,然后你可以按照自己的喜好来做。
相关文章:
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 正在数组中存储键值对
- 数据表通过分析一列的值对其进行排序
- 如何将新的键/值对元素添加到现有数组
- 在键值对中对求和值进行下划线
- 比较包含多个值对的两个JavaScript数组
- 我想将查询字符串变量添加到JSON名称/值对中
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 设置选项对象关键点:值对以实现带第二个y轴的动态打印
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 从JavaScript中的名称-值对字符串中删除值
- 使用jQuery从ajax调用访问键值对
- 将数据格式从单个对象转换为键值对的对象数组
- 在指令中使用$watch的单个值对范围进行角度更新
- 按具有日期值的单个键对对象数组进行排序
- 浏览器为单个cookie名称-值对保留多个值
- 使用AngularJS对单个列值进行过滤
- 如何从单个jQuery-TokenInput中提交多个值作为名称/值对