Jquery代码打破了我的其余代码

时间:2013-02-06 09:21:43

标签: jquery wordpress

我有一些Jquery,我已经添加到其他Jquery的负载(一切正常),但它打破了我的其余代码。那里有一个错误,但我无法解决问题!

//Retrieve the customization summary area:
var summary = $('#customise-area-3 p');

//Use jQuery to select all the checkboxes with the name hardware that are checked.
$('input[type=checkbox][name=hardware\[\]]:checked').each(function(k,v) {
    //Retrieve the value of the checkbox.
    var checkboxValue = v.val();

    //Add the checkbox value to the summary area:
    summary.innerHTML += checkboxValue + '<br />';
});

这是在Wordpress中,所以我的Jquery的其余部分都采用以下样式:

jQuery(document).ready(function( $ ) 
{
    $("#customise").click(function()
    {
        $(".entire_product").hide();
        $(".customise").show();
    });
});

为了让代码在Wordpress环境中运行,我已经完成了以下工作:

jQuery(document).ready(function( $ ) 
{
   var summary = $('#customise-area-3 p').get(0);

   $('input[type=checkbox][name="hardware[]"]:checked').each(function(k,v) {
    //Retrieve the value of the checkbox.
    var checkboxValue = v.val();

    //Add the checkbox value to the summary area:
    summary[0].innerHTML += checkboxValue + '<br />';
});
});

虽然这会阻止我的其余代码中断,但它实际上并没有做任何事情。即将所选复选框值添加到摘要中。

2 个答案:

答案 0 :(得分:1)

你在选择器中使用\ slash是错误的,你在jQuery对象上使用innerHTML是wron

更改

$('input[type=checkbox][name=hardware\[\]]:checked')

$('input[type=checkbox][name="hardware[]"]:checked')

如果您需要检查以硬件开头的名称

,最好使用通配符
$('input[type=checkbox][name^=hardware]:checked')

更改

summary.innerHTML += checkboxValue + '<br />';

summary[0].innerHTML += checkboxValue + '<br />';

答案 1 :(得分:0)

你的行

//Add the checkbox value to the summary area:
    summary.innerHTML += checkboxValue + '<br />';

正在尝试设置一个对象的innerHTML,它看起来就是代码破解的地方

你应该使用

summary.html(checkboxValue + '<br />');

可能还有其他错误。但那是我能看到的唯一一个