Php JQuery未获取选择对象的值
我在弹出窗口中使用两个动态对象(一个是Select,另一个是单选按钮)。然后调用它们的值来传递Ajax函数。但由于一些未知的原因,它不起作用。当我删除单选按钮时,它工作正常 生成对象的PHP代码: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 /> <
$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;
}
});
});