Javascript 如何以名称/值对的形式从单个jQuery TokenInput提交多个值
我正试图找出一些超出我能力范围的东西,所以请容忍我 我想做的是让用户填写一份档案,允许他们从Livesearch输入中选择最多四个城市。然后我想分别使用这些城市值,从存储在数据库中到作为url参数传递 我如何让它们脱离似乎是逗号分隔的值字符串,并给它们自己的名称 例如 如果他们选择了纽约、芝加哥、迈阿密和达拉斯,那么我得到了Javascript 如何以名称/值对的形式从单个jQuery TokenInput提交多个值,javascript,jquery,jquery-tokeninput,Javascript,Jquery,Jquery Tokeninput,我正试图找出一些超出我能力范围的东西,所以请容忍我 我想做的是让用户填写一份档案,允许他们从Livesearch输入中选择最多四个城市。然后我想分别使用这些城市值,从存储在数据库中到作为url参数传递 我如何让它们脱离似乎是逗号分隔的值字符串,并给它们自己的名称 例如 如果他们选择了纽约、芝加哥、迈阿密和达拉斯,那么我得到了 <input type="text" id="Locations" name="Locations" value="New York,Chicago,Miami,Da
<input type="text" id="Locations" name="Locations" value="New York,Chicago,Miami,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参数实现这一点,该参数可以通过一个函数传递 从技术角度来看,我建议使用包含您要发送的信息。我不知道以后你在用它做什么,你可以根据需要调整这个例子 试着这样做:
<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数组,然后您可以随意使用它
$cityArray = explode(',', $cityString);