首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于在两个或多个表单之间交换输入和选择框数据的JQuery

用于在两个或多个表单之间交换输入和选择框数据的JQuery
EN

Stack Overflow用户
提问于 2011-04-12 22:07:48
回答 2查看 1.6K关注 0票数 0

我基本上是在尝试创建一个“方向”表单,每个“车站”都有一个地址输入和几个选择框选项。我希望能够“交换”表单,以便来自第一个“停止”的数据与来自第二个“停止”的数据交换。棘手的部分是,可能有两个以上的“止损”,因此掉期将需要能够处理掉期止损3-4,4-5,5-6等。

以下是基本表单模板:

代码语言:javascript
运行
复制
<div class="forms">
<div class="address"><input type="text" /></div>
<div class="loc">
    <select name="region">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
    </select>
</div>
<div class="loc">
    <select>
        <option>a</option>
        <option>b</option>
        <option>c</option>
        <option>d</option>
        <option>e</option>
    </select>
</div>
</div>
<div class="swap"><a>swap</a></div>
<div class="forms">
<div class="address"><input type="text" /></div>
<div class="loc">
    <select name="region">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
    </select>
</div>
<div class="loc">
    <select>
        <option>a</option>
        <option>b</option>
        <option>c</option>
        <option>d</option>
        <option>e</option>
    </select>
</div>

如果可能的话,我想使用JQuery,但我真的不知道如何开始。

谢谢,布赖恩

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-12 22:42:59

通常,在jQuery中,您只需使用.val()设置输入值,它将根据表单类型(下拉列表、文本输入、文本区域等)来确定输入值。

考虑到这一点,以及您只交换邻近值的要求,您可以简单地执行以下操作:

代码语言:javascript
运行
复制
$('.swap a').click(function() {
    //Swaps previous and next address values
    var prevAddress = $(this).parent().prev('.forms').find('.address input');
    var nextAddress = $(this).parent().next('.forms').find('.address input');
    var tmp = prevAddress.val();
    prevAddress.val(nextAddress.val());
    nextAddress.val(tmp);
});

在这里,我只完成了地址字段,但对于它们中的任何一个,它都应该是相同的。

票数 1
EN

Stack Overflow用户

发布于 2011-04-12 22:57:17

这可能不是最好的方法,但它回答了您的问题:http://jsfiddle.net/PBfvX/

注意:基于0的索引意味着如果您想要第一种形式和第二种形式,form1=0和form2=1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5636547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档