繁体   English   中英

使用一个元素的值在jQuery中查找另一个

[英]using the value of one element to find another in jquery

我在项目中有一个选择框。 它是表单的一部分。 通过菜单选择产品。 在同一行上是产品价格必须到达的输入。 在页面中隐藏的某个地方,我有一个div,该div已通过产品名称ID标识。 该div包含产品数据(价格和其他一些数据)。 我有一个事件处理程序,它对选择框做出反应(javascript on(change))。

在事件处理程序中,我有以下代码来查找包含价格的div(prijs,我是荷兰人)。 没用 我在这里做错了什么?

$(this).parent('tr').find('#prijs').val($(div).find($this.val()).find('#prijs')).val();

我修复了所有愚蠢的错字。 感谢您的帮助。 星期四晚上的紧缩时间让我有些偏南。 我将在下面给出一个更详细的示例。

   <select name='producten[1]' class='product'>
     <option value='phone1'>phone1</option>
     <option value='phone1'>phone2</option>
    </select>
    <input type="text" id="prijs"></input>
    <input type="text" id="per"></input>


    <div class="hidden" id="phone1"><div id="dbprijs">'125.00'</div><div id="dbper">a piece</div></div>
    <div class="hidden" id="phone2"><div id="dbprijs">225.00</div><div id="dbper">a piece</div></div>

   <script type="text/javascript">
    $(document).ready(
        function(){
                        $("body").on("change",".product", function(){

                              $(this).parent('tr').find('#prijs').val($('div').find($(this).val()).find('#dbprijs')).val();
                        });
        }
    );
   </script>

具有以上代码的JSFiddle

据我所知,这里真正的挑战是告诉JQuery查找具有选择框值的ID。 感谢Fabrizio编辑原始问题。

一种可能的错误是this没有被包装在$()
其次, div没有单引号。

$(this).parent('tr').find('#prijs').val($('div').find($(this).val()).find('#prijs')).val();

有时很难使用.on 因此,请尝试使用.change代替下面提到的代码。

jQuery("select.product").change( function(){ /* Now your code */ });

除了需要确保如何获得该tr 正如您在html中提到的那样,它必须位于select字段的父元素内。

希望这会清除方法! 干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM