Php JQuery未获取选择对象的值

Php JQuery未获取选择对象的值,php,jquery,Php,Jquery,我在弹出窗口中使用两个动态对象(一个是Select,另一个是单选按钮)。然后调用它们的值来传递Ajax函数。但由于一些未知的原因,它不起作用。当我删除单选按钮时,它工作正常 生成对象的PHP代码: $submit_newform= '<form method="POST"> <div id="waiting" style="display:none; font-weight:bold">Please wait ...</div><br /> <

我在弹出窗口中使用两个动态对象(一个是Select,另一个是单选按钮)。然后调用它们的值来传递Ajax函数。但由于一些未知的原因,它不起作用。当我删除单选按钮时,它工作正常

生成对象的PHP代码:

$submit_newform=
'<form method="POST">
<div id="waiting" style="display:none; font-weight:bold">Please wait ...</div><br />
<table width="100%" border="0" cellspacing="3" cellpadding="3">
  <tr><td colspan="4"><h1>Add Component Itinerary</h1></td></tr>
  <tr>`
    <td width="25">Service:</td>

    <td width="25">
    <select name="cmb_service" id="cmb_service" class="dropdown2">
    <option value="">-Select-</option>';
    foreach($services as $k=>$v)
    $submit_newform.= "<option value=".$k.">".$v."</option>";

    $submit_newform.= '</select></td>

    </tr>;


 $submit_newform.='<tr><td><input type="radio" name="package" id="package" value="package"` `class="packagetype" onClick="callservice_provider();">Package</input></td><td><input` `type="radio" name="package" id="package" value="nopackage" class="packagetype"` `onClick="callpackages();">Without Package</input></td></tr></table></form>';
两个对象
选择
单选按钮
不能一起工作。请推荐我

提前感谢。

您的意见

<input type="radio" name="package" id="package" value="package"` `class="packagetype" onClick="callservice_provider();">Package</input>

您的代码中有一些缺陷

1) 不能为两个控件提供相同的id。您已经为两个单选按钮指定了
id=“package”

2) 在阿贾克斯

这条线应该会发出一声巨响。你不能像这样访问id。您必须像这样访问

var service_val = $("#cmb_service").val();

只需再次检查您的代码。

我假设您想要该下拉列表的选定值

$("#cmb_service option:selected").val();

我已经修改了你的代码,希望这有帮助

<html>
    <head>
    <title></title>
    <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script>
    $(document).ready(function() {

        $('input.packagetype').click( function( event ){
            var value = $(this).val();
            if(value =="package")
                {
                    alert("show package");
                }
            else
            {
                var destination = $("#destination").val();
                var service_val = $("#cmb_service").val();
                   alert(destination+"+"+service_val);
                $.ajax({
                        type : 'POST',
                        url : '../enquiries/getpricebyajax',
                        dataType : 'json',
                        data: {
                                service : service_val,
                                destno : destination
                        },
                        success : function(data) {
                               alert("success");
                               $('#divserviceprovider').text('');
                               $('#divserviceprovider').append(data.msg);
                               $('#divserviceprovider').show(500);
                               if (data.error === true)
                                    $('#divserviceprovider').show(500);
                        },
                        error : function(XMLHttpRequest, textStatus, errorThrown) {
                            alert("success");
                                $('#waiting').hide(500);
                                $('#divserviceprovider').removeClass().addClass('error')
                                    .text('There was an error.').show(500);
                                $('#divserviceprovider').show(500);
                        }
                });
                return false;
            }
        });
});
    </script>

    </head>
    <body>
        <?php

        $services =array('apple','orange','grapes');
$submit_newform=
'<form method="POST">
<div id="waiting" style="display:none; font-weight:bold">Please wait ...</div><br />
<table width="100%" border="0" cellspacing="3" cellpadding="3">
  <tr><td colspan="4"><h1>Add Component Itinerary</h1></td></tr>
  <tr>`
    <td width="25">Service:</td>

    <td width="25">
    <select name="cmb_service" id="cmb_service" class="dropdown2">
    <option value="">-Select-</option>';
    foreach($services as $k=>$v)
    $submit_newform.= "<option value=".$k.">".$v."</option>";

    $submit_newform.= '</select></td>

    </tr>;';


 $submit_newform.='<tr><td><input type="radio" name="package" id="package" value="package" class="packagetype" onClick="callservice_provider();">Package</input></td><td><input type="radio" name="package" id="nopackage" value="nopackage" class="packagetype" onClick="callpackages();">Without Package</input></td></tr></table></form>';
 echo $submit_newform;
        ?>
    </body>
</html>

$(文档).ready(函数(){
$('input.packagetype')。单击(函数(事件){
var值=$(this.val();
如果(值=“包”)
{
警报(“显示包”);
}
其他的
{
var destination=$(“#destination”).val();
var service_val=$(“#cmb_service”).val();
警报(目的地+“+”+服务值);
$.ajax({
键入:“POST”,
url:“../inquiries/getpricebyajax”,
数据类型:“json”,
数据:{
服务:服务价值,
目的地编号:目的地
},
成功:功能(数据){
警惕(“成功”);
$(“#divserviceprovider”).text(“”);
$('#divserviceprovider').append(data.msg);
$(#divserviceprovider')。show(500);
如果(data.error==true)
$(#divserviceprovider')。show(500);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警惕(“成功”);
$('等待').hide(500);
$('#divserviceprovider').removeClass().addClass('error'))
.text(“出现错误”)。show(500);
$(#divserviceprovider')。show(500);
}
});
返回false;
}
});
});
有件事我想提一下

  • 不要对单选按钮使用相同的
    id
  • 我刚刚看到了警报,它现在起作用了
  • 如果您还需要什么,请告诉我

    见 在你的另一部分: 应该是:
    因此,您的最终代码必须如下所示:
    $(cmb#U服务)需要为$(“#cmb#U服务”)foreach不平衡(即没有endforeach)?var值=$(“#cmb#U服务”).val();但这根本没有表明什么“不起作用”?它应该做什么?控制台中有错误吗?您在
    $(cmb\U服务)
    中有错误。它将是
    $(“#cmb_服务”)
    。此外,如果它不能解决您的问题,请使用JSFIDLElink@AmitJha如果需要任何级别的帮助,则必须提供实际错误。“对不起,它不起作用”可能比根本没有回复没有帮助。为什么你有两个不同的功能点击功能?
    var service_val = $(cmb_service).val();
    
    var service_val = $("#cmb_service").val();
    
    $("#cmb_service option:selected").val();
    
    <html>
        <head>
        <title></title>
        <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
        <script>
        $(document).ready(function() {
    
            $('input.packagetype').click( function( event ){
                var value = $(this).val();
                if(value =="package")
                    {
                        alert("show package");
                    }
                else
                {
                    var destination = $("#destination").val();
                    var service_val = $("#cmb_service").val();
                       alert(destination+"+"+service_val);
                    $.ajax({
                            type : 'POST',
                            url : '../enquiries/getpricebyajax',
                            dataType : 'json',
                            data: {
                                    service : service_val,
                                    destno : destination
                            },
                            success : function(data) {
                                   alert("success");
                                   $('#divserviceprovider').text('');
                                   $('#divserviceprovider').append(data.msg);
                                   $('#divserviceprovider').show(500);
                                   if (data.error === true)
                                        $('#divserviceprovider').show(500);
                            },
                            error : function(XMLHttpRequest, textStatus, errorThrown) {
                                alert("success");
                                    $('#waiting').hide(500);
                                    $('#divserviceprovider').removeClass().addClass('error')
                                        .text('There was an error.').show(500);
                                    $('#divserviceprovider').show(500);
                            }
                    });
                    return false;
                }
            });
    });
        </script>
    
        </head>
        <body>
            <?php
    
            $services =array('apple','orange','grapes');
    $submit_newform=
    '<form method="POST">
    <div id="waiting" style="display:none; font-weight:bold">Please wait ...</div><br />
    <table width="100%" border="0" cellspacing="3" cellpadding="3">
      <tr><td colspan="4"><h1>Add Component Itinerary</h1></td></tr>
      <tr>`
        <td width="25">Service:</td>
    
        <td width="25">
        <select name="cmb_service" id="cmb_service" class="dropdown2">
        <option value="">-Select-</option>';
        foreach($services as $k=>$v)
        $submit_newform.= "<option value=".$k.">".$v."</option>";
    
        $submit_newform.= '</select></td>
    
        </tr>;';
    
    
     $submit_newform.='<tr><td><input type="radio" name="package" id="package" value="package" class="packagetype" onClick="callservice_provider();">Package</input></td><td><input type="radio" name="package" id="nopackage" value="nopackage" class="packagetype" onClick="callpackages();">Without Package</input></td></tr></table></form>';
     echo $submit_newform;
            ?>
        </body>
    </html>
    
    $submit_newform.='<tr><td><input type="radio" name="package" id="package"// same id
                      value="package"` `class="packagetype" 
                      onClick="callservice_provider();">Package</input></td> //</input>
                  //--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^----bad closing
                     <td><input` `type="radio" name="package" id="package" // same id
                     value="nopackage" class="packagetype"
                     onClick="callpackages();">Without Package</input></td>
                    </tr></table></form>';
    
    $('input.packagetype').click( function( event ){
    
    var service_val = $(cmb_service).val();
    
    var service_val = $("#cmb_service").val();
    
    $submit_newform.='<tr><td><input type="radio" name="package" id="package1"
                      value="package"` `class="packagetype"/>Package
                      </td> 
                     <td><input type="radio" name="package" id="package2" 
                     value="nopackage" class="packagetype"/>Without Package
                     </td>
                    </tr></table></form>';
    
    $(document).ready(function () {
    
    $(document).on('click', 'input.packagetype', function (event) {
        var value = $(this).val();
        if (value == "package") {
            alert("show package");
        } else {
            var destination = $("#destination").val();
            var service_val = $("#cmb_service").val();
            alert(destination + "+" + service_val);
            $.ajax({
                type: 'POST',
                url: '../enquiries/getpricebyajax',
                dataType: 'json',
                data: {
                    service: service_val,
                    destno: destination
                },
                success: function (data) {
                    alert("success");
                    $('#divserviceprovider').text('');
                    $('#divserviceprovider').append(data.msg);
                    $('#divserviceprovider').show(500);
                    if (data.error === true) $('#divserviceprovider').show(500);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("success");
                    $('#waiting').hide(500);
                    $('#divserviceprovider').removeClass().addClass('error')
                        .text('There was an error.').show(500);
                    $('#divserviceprovider').show(500);
                }
            });
            return false;
        }
    });
    });