首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修改php中javascript的代码

修改php中javascript的代码
EN

Stack Overflow用户
提问于 2011-09-05 15:35:35
回答 2查看 71关注 0票数 0

我使用了一系列的复选框,它们都具有不同的名称,即checkbox1....checkbox40。我正在生成一系列带有'1‘和'0’的字符串,即如果复选框被选中,那么字符串将与'1‘连接,否则将与'0’连接。我已经成功地实现了PHP的想法,但由于我现在使用Ajax,我想为java脚本开发相同的代码。我的PHP代码是

代码语言:javascript
复制
if (isset($_POST[submit]))
{
for ($i=1; $i<41; $i++)
    {
    $walue = "restriction".$i;
    if(isset($_POST[$walue])) {$val .="1";} else {$val .="0";}
    }
}
echo "Equivalent String: ".$val."<p>";

为了使用Javascript实现它,我在表单的提交事件上调用了一个函数。

我的表单id是theForm,我的复选框名称是restriction1....restriction40。请给我一些提示来实现这个想法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-05 16:03:51

所以..。像这样的东西?

代码语言:javascript
复制
getCheckedString = function () {
    var chunks = [];
    var checkboxes = $("#theForm").children('input[type=checkbox]').each(function () {
        chunks[chunks.length] = $(this).is(':checked') ? '1' : '0';
    });
    return chunks.join('');
}

这将按照它们在窗体上的顺序收集所有复选框,在数组中放入一个'1‘或'0’,然后返回连接到一个字符串中的数组。它不是特定于特定名称的,所以如果表单中有其他复选框,请让我知道,我会修改我的答案。

票数 1
EN

Stack Overflow用户

发布于 2011-09-05 16:57:52

如果只有已命名的复选框,则应执行以下操作:

代码语言:javascript
复制
function getCheckedString1() {
    var val = "";
    for (var i = 1; i <= 40; ++i) {
        var boxes = document.getElementsByName("restriction" + i); // returns an array
        if (boxes[0]) {
            val += boxes[0].checked ? "1" : "0";
        }
    }
    // alert(val);  
    return val;
}

但是,使用ID标识被引用的HTML元素更容易,通常的做法是使用ID标识。因此,您可以增强HTML:

代码语言:javascript
复制
<input type="checkbox" name="restriction1" id="restriction1" ...
<input type="checkbox" name="restriction2" id="restriction2" ...

然后使用:

代码语言:javascript
复制
function getCheckedString2() {
    var val = "";
    for (var i = 1; i <= 40; ++i) {
        var box = document.getElementById("restriction" + i); // returns the unique element
        if (box) {
            val += box.checked ? "1" : "0";
        }
    }
    // alert(val);
    return val;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7305080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档