javascript
  • jquery
  • 2014-12-29 2 views 0 likes 
    0

    수량 선택 요소가있는 3 개의 항목을 말할 수있는 양식이 있습니다. 괄호가있는 ID로 선택 값을 변경하십시오.

    $someArray = array(
        '1', 
        '2', 
        '3' 
    ); 
    
    foreach($someArray as $k => $v) { 
        echo "<td>Qty</td> 
             <td><select class='qty' name='" . $v . "[qty]' id='" . $v . "[qty]'>"; 
        for ($a = 0; $a <= 5; $a++) { 
        echo "<option value='" . $a . "'>" . $a . "</option>"; 
        } 
    
        echo "</select></td>"; 
    } 
    

    지금 JQuery와에, 나는 그것을 선택한 값 클래스 수량의 모든 요소를 ​​변경, 어떤 요소의 수량을 변경하면 그렇게 만들고 싶어. 나는 $ v가 같은지 알지 못한다. 이것은 db 쿼리 결과의 dynmaic key이다.

    JQuery와

    $('.qty').change(function() { 
        var newQty = $(this).val(); 
        $.each($('.qty'), function() { 
        var thisId = $(this).attr('id'); 
        alert(thisId+newQty); 
        $('#'+thisId).val(newQty); 
        }); 
    }); 
    

    경고가 정확한 판독 (1 수량] 1, 2 수량] -1,3- [수량] 1) 그러나, 상기 선택 값이 다음 행에 의해 변경되지 않는다. 엘레멘트의 괄호는 물건을 엉망으로 만든다. 어떻게 조정할 수 있습니까?

    +0

    을, 코드를 정돈 3 분 정도 걸릴하시기 바랍니다. – Sumurai8

    답변

    3

    나는 당신의 ID가 그들에 괄호가 필요한 이유를 알고 있지만, 대신에이 작업을 수행하지 않습니다

    $('.qty').change(function(){ 
         var newQty = $(this).val(); 
         $('.qty').val(newQty); 
    }); 
    

    클래스 선택기 클래스, 각각에 대한 필요성의 모든 요소에 적용됩니다.

    +0

    나는이 방법을 더 복잡하게 만들려고했다. – bart2puck

    1

    예, 문제는 ID입니다. 귀하의 경우에는 대괄호를 제거하는 것이 더 쉬울 수도 있지만 대괄호를 이스케이프 처리하여 선택할 수 있습니다.

    아니면 같은 추한 것을 수행 할 수 있습니다 질문을 할 때

    var thisId = $(this).attr('id').replace(']', '\\]').replace('[', '\\['));

    관련 문제