[英]Get php selected checkbox values in JAVASCRIPT
我是Java語言的新手,我無法解決這個問題。 我有一個復選框表格,所以我需要獲取選擇的值並發布到php文件。
這是腳本:
<script>
$("#addusers").click(function(){
var checkedValue = null;
var inputElements = document.getElementsByClassName('values');
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
break;
}
}
$.post("users_add.php", {
checkedValue:checkedValue
}, function(data) {
alert(data);
});
});
</script>
這是php代碼:
<td>
<div>
<?php
foreach($userProfiles as $u)
{
foreach($u as $x)
{
echo "<input type=\"checkbox\" name=\"values\"> $x";
echo "<br>";
}
}
?>
</div>
</td>
我正在檢查print_r($ _ POST)發布變量,但沒有顯示任何內容。 我的JavaScript可以嗎?
不用擔心成為javascript新手,我們都從某個時候開始。 關於您的代碼,首先,您的“ for cycle”是保存第一個值,然后跳過,我知道您還沒有收到任何東西,但是我猜您只會得到一個值。 沒有發布任何東西的最合理原因是您沒有使用正確的選擇器。 例如:
var inputElements = document.getElementsByClassName('values');
將檢索所有如下所示的html元素:
<input type="text" class="values" />
哦,對不起,我剛剛注意到您確實發布了html代碼,因為您已經在使用jQuery,所以無需將其與普通javascript混合使用,以下是我為您的代碼找到的更正:
var checkedValues = [];
var inputElements = $('input[type="checkbox"]');
inputElements.each(function () {
if($(this).is(':checked')){
checkedValues.push($(this).val());
}
});
說明:
var checkedValues = [];
這樣,我們在javascript中聲明了一個Array,因此我們可以訪問數組方法“ push”,以在滿足條件的情況下插入元素(選中的復選框)。
var inputElements = $('input[type="checkbox"]');
這是對DOM元素的jQuery選擇,我們說“獲取具有type = checkbox屬性的所有輸入元素。您可以在其官方站點https://api.jquery上了解有關jquery選擇器的更多信息。 com / category / selectors /
inputElements.each(function () {
if($(this).is(':checked')){
checkedValues.push($(this).val());
}
});
這有點做
inputElements.each(function(){});
這將在inputElements選擇中為每個元素執行一個函數。 您可以在官方文檔中獲取有關jQuery.each的更多信息: https : //api.jquery.com/each/
if($(this).is(':checked'))
這是否詢問循環中的當前元素是否設置了“已檢查”屬性。 我們使用$(this)將從原始選擇中獲得的純DOM元素轉換為jQuery對象,以使用“ is”方法。
checkedValues.push($(this).val());
在這里,我們添加已設置檢查屬性的元素的VALUE,而不是元素,不是布爾值,而是在輸入的“ value”屬性中設置的任何值。
任何不清楚或無法正常工作的問題都可以隨時詢問,並祝您編程愉快! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.