将选择菜单连接成单个表单输入
concatenating select menus into a single form input
我有一个文本输入如下:
<input class="input-large" form="form" type="text" name="product_data[product]" id="product_description_product" value="{$product_data.product}" />
不幸的是,我希望输入到此字段中的信息非常具体。我能想到的最佳解决方案是提供 3 个带有一系列选项的下拉菜单。
我可以根据需要编辑 HTML 并添加 JavaScript,但无法编辑表单处理脚本或数据库,因此我需要从 3 个选择菜单中返回的值需要连接成单个表单字段值。
你怎么看?
我想我几乎拥有它,但它不起作用。我会复制整个表格,但它很长,希望这是唯一需要的一点
<form>
<input form="form" type="hidden" name="product_data[product]" id="product_description_product" value="{$product_data.product}" />
<script type="text/javascript">
$(all_three_select_tags).change(function(){
concatenated_string = $(#product_description_product_1).val() + $(#product_description_product_2).val() + $(#product_description_product_3).val();
$("#product_description_product").val(concatenated_string);
})
</script>
<select id="product_description_product_1">
<optgroup label="Box size">
<option value="Extra small">Extra small</option>
<option value="Small">Small</option>
<option value="Medium">Medium</option>
<option value="Large">Large</option>
<option value="Extra Large">Extra Large</option>
</optgroup>
</select>
<select id="product_description_product_2">
<optgroup label="Speciality">
<option value="organic">organic</option>
<option value="seasonal">seasonal</option>
<option value="locally grown">locally grown</option>
<option value="exotic">exotic</option>
<option value="gourmet">gourmet</option>
</optgroup>
</select>
<select id="product_description_product_3">
<optgroup label="Type of box">
<option value="veg box">veg box</option>
<option value="fruit box">fruit box</option>
<option value="fruit & veg box">fruit & veg box</option>
</optgroup>
</select>
</form>
我将尝试根据您提供的代码对其进行更新。 脚本标记内容应如下所示:
<script type='text/javascript'>
$("#product_description_product_1, #product_description_product_2, #product_description_product_3").change(function(){
concatenated_string = $("#product_description_product_1").val() + $("#product_description_product_2").val() + $("#product_description_product_3").val();
$("#product_description_product").val(concatenated_string);
})
</script>
此外,您的隐藏字段标签应如下所示(我假设第二代码块的第一行旨在成为隐藏字段):
<input type='hidden' value='' id="product_description_product">
这是一个jsfiddle,也是一个示例 http://jsfiddle.net/eNNZX/
请记住,ID 为"temp_display"的div 不是必需的,它只是为了您可以在每次更改后看到值。
这样,每当任何选择被更改时,隐藏的输入都会更新为所有 3 个选择的级联版本。 然后,当您提交页面时,只需查看引用所需值的隐藏输入的参数。
希望这有帮助!
相关文章:
- 单个页面上有多个标记表单
- 如何使用单个表单填写多个表单
- 多个表单触发到单个工作表
- 什么 在单个页面上创建具有 php 多步骤的多个表单
- 针对各种选择框更改验证单个表单的特定字段-jQuery
- Javascript表单验证-如何在单个表中显示验证错误,而不是使用警报
- 通过单击Href将单个表单值发布到自身
- 是为大约100条记录中的每一条呈现一个表单更快,还是用ajax加载单个表单更快
- 单个 HTML 表单中的多个提交按钮
- 将选择菜单连接成单个表单输入
- 通过按键提交单个表单元素
- 在单个表单中从下拉列表中多次提交
- jQueryAjax请求仅适用于单个表单提交
- 如何提交单个表单并使用两个提交按钮一个按钮单击然后验证
- 在提交整个表单之前,我可以将单个表单值提交到数据库中吗
- 在单个表单中使用2个提交按钮
- 如何在具有Ajax的单个表单中使用多个Submit按钮
- 通过ajax通过一个按钮将单个表单提交给两个操作
- 事件用于页面上的任何表单(不是特定于单个表单)
- 单个表单按钮错误地触发两个事件侦听器和警报框