在具有类检查的div中的jquery目标输入值

时间:2014-03-16 20:11:52

标签: php jquery class html get

我正在以报价单形式预告多个供应商,每个供应商都有一个复选框元素,以便与之联系。供应商在带有类名供应商的div中复选框,而且在选择供应商时,供应商复选框div附加“checkedsupplier”或“uncheckedsupplier”类名。

<div class="supplier-checkbox checkedsupplier">

<input type="hidden" name="supplier-email" class="supplieremail" value="{$item->email}" />
                                    </div> <!--end supplier checkbox-->

foreach供应商div我在div中得到一个隐藏的输入字段,其中包含供应商电子邮件作为其值。想法是,在提交表单时,我会检查所有div的“checkedsupplier”类名,并为每个获取其内部输入的值,将所有值保存在onelong变量中并将其回显到电子邮件的To字段中以进行复制每个供应商的报价单。

使用jquery,我设法切换了类名和一个显示勾选或未勾选的背景效果。

<script> 
    $(".supplier-checkbox").click(function(){
    $(this).toggleClass('checkedsupplier uncheckedsupplier')
    //$(this).children( ".supplieremail" ).attr("checked")
});
</script>

任何人都可以给我任何指针,告诉我如何按类名称进行操作,并使用jquery使用该类名获取每个div中每个输入的值。我正在研究它,但是找到了.each用于循环.val用于值和if(bar)用于条件。但我还没有足够的经验把事情放在一起。自从毕业于一个完全不同的领域的网络以来,他已经作为一名初级开发人员工作了7个月。

在app.js文件中的

我以这种方式获取表单值: `

v_country:$('#country').val(),
v_quotationtel:$('#quotationtel').val(),
                v_mobile:$('#mobile').val(),
                v_quotationemail:$('#quotationemail').val(),
                v_quotemefor:$('#quotemefor').val(),
    v_quotemessage:$('#quotemessage').val()
                //this line is what i'm trying to do to get input values and store them in one var to pass them to php form that sends email $( "checksupplier" ).each(function( i ) {

         }`

感谢大家!我相信你们在这里,你们在我的学习和工作中都帮助了我。

伊恩

**更新**已修改为按以下方式工作:

 <script>
        $(function(){
            $( ".crew-member-con" ).click(function(){
                $(this).toggleClass('whitebg greybg');
                $(this).toggleClass('crew-checked crew-unchecked');
                $(this).toggleClass('grey white');
                if($(this).children('input').prop('checked') == true){
                    $(this).children('input').prop('checked', false);
                }else{
                    $(this).children('input').prop('checked', true);
                }

                var selectedMembers='';
                $('.selected-members').each(function(){
                    if($(this).is(':checked')){
                        selectedMembers +=$(this).val()+', ';
                    }
                   //alert(emails);
                });
                if(selectedMembers != ''){
                    selectedMembers = selectedMembers.slice(0,-2);
                }
                $('#exam-member span').html(selectedMembers);
                console.log(selectedMembers);
});         

        });

2 个答案:

答案 0 :(得分:1)

这是一个带有一些注释的例子。

 $('.myform').submit(function () {
    getEmailAddresses();
    return false; 
}

function getEmailAddresses () {
    // a place to hold them
    var emails = new Array();
    // what will be after 'mailto'
    var emailsString = "";

    // get 'em
    $('.checkedsupplier').each(function () {
        // get the hidden email input value
        var email = $(this).find('.supplieremail').val();
        // check, just in case;
        if (email) {
            // push the value into our array
            emails.push(email); 
        }
    });

    //put them all together into a string, split by a semi-colon
    emailsString = emails.join(';');

    // finally, stuff our mail to link. 
    // Not sure what you're plan is here but 'emailsString' has all of the values you eed.
    $('.mailtolink').attr('href', 'mailto:'+emailsString);

}

答案 1 :(得分:0)

<script> 
$(".supplier-checkbox").click(function(){
$(this).toggleClass('checkedsupplier uncheckedsupplier')
//$(this).children( ".supplieremail" ).attr("checked")
var emails='';
$('.supplieremail').each(function(){
   emails +=$(this).val();
});

$('#mailfieldstextarea').val(emails);
});
</script>

我希望这会有所帮助。