如何在jQuery中选择逐个元素?

时间:2016-08-21 12:06:37

标签: jquery

我正在尝试通过其value属性获取元素。

以下是我使用的代码 -

jQuery(document).ready(function () {
    jQuery('form input#attribute2').on('focus', function () {
        var $this = jQuery(this);
        var $valueofbox = $this.val();
        var $form = $this.closest('form');
        console.log($form);
        console.log($valueofbox);
        var $samebox = $form.find('input.rowvar2[value=$valueofthis]');
        console.log($samebox);
    });
});

我正在尝试使用当前所选输入框的值获取输入字段。 当我使用 -

时,此代码有效
$form.find('input.rowvar2[value=XXL]');  //notice that the quotes are not required here and it still gets the desired element

而不是

$form.find('input.rowvar2[value=$valueofthis]');

$form.find('input.rowvar2[value=$this.val()]');

在这里可以做些什么来解决这个问题?有更好的方法吗?

HTML代码 -

<form role="form">
    <div class="col-xs-2">

        <label for="attribute2">Size</label>

        <input type="text" class="form-control" id="attribute2" value="XXL">
        <br>

        <input type="text" class="form-control" id="attribute2" value="M">
        <br>

        <input type="text" class="form-control" id="attribute2" value="XXXL">
        <br>

<div class="row">
<!-- some HTML -->
    <div class="col-xs-3">
        <input type="text" class="form-control rowvar1 e27a8e79-ba6a-449f-a64b-e94baf1a098d" placeholder="Blue" disabled="">
    </div>

    <div class="col-xs-2">

        <input type="text" class="form-control rowvar2" value="M" disabled="">
        <br>

        <input type="text" class="form-control rowvar2" value="L" disabled="">
        <br>

        <input type="text" class="form-control rowvar2" value="XL" disabled="">
        <br>
    </div>
</div>
<!-- some html -->

<div class="row">
<!-- some HTML -->
    <div class="col-xs-3">
        <input type="text" class="form-control rowvar1 e27a8e79-ba6a-449f-a64b-e94baf1a098d" placeholder="Blue" disabled="">
    </div>
    <div class="col-xs-2">

        <input type="text" class="form-control rowvar2" value="XL" disabled="">
        <br>

        <input type="text" class="form-control rowvar2" value="XXL" disabled="">
        <br>

        <input type="text" class="form-control rowvar2" value="XXXL" disabled="">
        <br>

        <input type="text" class="form-control rowvar2" value="5XL" disabled="">
        <br>
    </div>
</div>


  <button id="submittopost" type="Submit" class="btn btn-success pull-right">Publish Product</button>
</form>

2 个答案:

答案 0 :(得分:0)

我不认为JS中有任何花哨的字符串替换?只需手动连接

$form.find('input.rowvar2[value=' + $valueofbox + ']');

答案 1 :(得分:0)

尝试使用:

$form.find("input.rowvar2[value=${valueofbox}]");