2012-07-14 53 views
0

我想從html中使用jQuery獲取數組的值,然後將其傳遞給PHP腳本。我嘗試了很多我在這個網站上找到的變體,但是沒有一個成功。jQuery的多個textarea值

這是我到目前爲止。 (我使用jQuery根據需要的數量生成textareas,最多可達10個)。

<form> 
<input type='text' value='Title', name='title' id='title' /><br> 
<h2 class="achievements" id="subheading">Required Amount</h2><br><br><br> 
<select id="selection"> 
<option value='0'>0</option> 
<option value='1'>1</option> 
<option value='2'>2</option> 
<option value='3'>3</option> 
<option value='4'>4</option> 
<option value='5'>5</option> 
<option value='6'>6</option> 
<option value='7'>7</option> 
<option value='8'>8</option> 
<option value='9'>9</option> 
<option value='10'>10</option> 
</select> 
<div class="achievements" id="board"></div> 
</form> 
</div> 
<script type="text/javascript"> 
jQuery(document).ready(function($) { 
$('#selection').change(function() { 
    var required = parseInt($(this).val()); 
    var i = 0; 
    var str1 = "<h2 id=\"subheading\">Requirements</h2><br><br><br>"; 

    for(i = 0; i < required; i++) { 
       str1 += "<br><br><label></label><textarea name='requirement["+ i +"]' class=\"requirements\" rows='2' cols='40'></textarea>"; 
      } 
    str1 += "<br><input type='button' class='button' onclick=\"button('achievements/create_achievement');\" value='Add Achievement'/>"; 
    $('#board').html(str1); 
}); 
return false; 
}); 
</script> 

,抓住數據jQuery的腳本是:

function button(uri) { 
var url = "http://www.blahblah.com/" + uri; 
    var requirements = []; 
    /** 
     * solution below found on SO does not work as thought 
     */ 
    ///////////////////////////////////////////////////////////////////////// 
    requirements = $('textarea[name^="requirement\\[\\]"]').map(function() { 
    return $(this).val(); 
    }).get(); 
    //////////////////////////////////////////////////////////////////////// 
    $.ajax({ 
    url: url, 
    data: {id:requirements}, 
    type: "POST", 
    success: function(data) { 
     $('#main-board').html(data); 
    } 
    }); 
return false; 
} 

我的問題是,使用警報數據的陣列檢查時(需求)沒有被發現。我認爲這是因爲來自html的數據沒有使用我已經使用的jQuery語句正確解析。任何援助將是偉大的。謝謝

回答

0

您的textareas選擇器是錯誤的,因爲textarea的名稱在括號中有一個小數;也看到了jquery selectors page for ^=

說明:選擇具有指定屬性與指定字符串完全開始值元素。

更換

$('textarea[name^="requirement\\[\\]"]') 

$('textarea[name^="requirement\\["]') 

您不必再更改。

另請參閱this exmaple

+0

這很有效,感謝您的幫助。 – 2012-07-14 17:47:59