2012-05-10 28 views
0

我發現這個鏈接是非常有用的

get selected textbox id jQuery

不過,我想現在要做的就是重複使用這個ID做一些微調函數爲每個文本框實際循環。我試過這段代碼:

<html> 
    <head> 
     <?php echo $this->Html->script("jquery-1.4.3.min"); ?> 

    </head> 
    <body> 
    <?php 
     echo $content_for_layout; 
    ?> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     //  alert('JQuery is succesfully included'); 

/*  $(':submit').click(function(){ 
      <?php if(($this->request->controller=='members')&&($this->action=='register')):?> 
        //alert('well'); 
        var some = $.trim($(":text").val()); 
        alert(some); 
      <?php endif; ?> 

      }); 
*/ 
      $(':submit').click(function(){ 
       $('form input[type="text"]').each(function(){ 
        //get value of id of textbox here 
        var id = $(this).attr('id'); 
        var some = $.trim($((this).attr('id')).val()); 
        alert(some); 
       }); 

      }); 
     }); 
    </script> 
    </body> 
</html> 

但它沒有彈出警告框。

回答

0

我有點困惑,你正在努力實現的到底是什麼,但在這條線的一個問題:

var some = $.trim($((this).attr('id')).val()); 

具體來說,(this).attr('id')不起作用,因爲(this)被解釋爲thisthis是當前沒有.attr()方法的DOM元素。

認爲你可能想這樣做:

var some = $.trim($("#" + $(this).attr('id')).val()); 
// or, given you already have a variable id equal to $(this).attr('id') 
var some = $.trim($('#' + id).val()); 

也就是說,你想從當前元素的ID,然後使用該ID來選擇元素,並得到它的值,然後修剪值。但你並不需要的ID來獲得的價值給你已經擁有的元素的引用 - 你可以這樣做:如果你想循環

var some = $.trim($(this).val()); 
// or 
var some = $.trim(this.value); 

通過所有的文本框,並將其設置爲修剪其當前值的版本,你可以這樣做:

$('form input[type="text"]').each(function(){ 
    this.value = $.trim(this.value); 
    // or if you want the slower and harder to read way: 
    $(this).val($.trim($(this).val())); 
}); 

或者:

$('form input[type="text"]').val(function(i,currentVal) { 
    return $.trim(currentVal); 
}); 

的信息,請參見.val() doco大約傳遞一個回調函數.val()

+0

謝謝男人像魔術一樣工作 – Charmie

相關問題