Php 如何将id值传递给函数?
如何将id值传递给函数? 我正在做的是,当用户更改下拉列表时,它将获得下拉列表的值,并且还将获得隐藏在foreach中的输入值 我试着从我这边开始更改下拉列表中的值,但是如何在jquery中获得输入值呢?现在我得到输入字段的最后一个值Php 如何将id值传递给函数?,php,jquery,html,Php,Jquery,Html,如何将id值传递给函数? 我正在做的是,当用户更改下拉列表时,它将获得下拉列表的值,并且还将获得隐藏在foreach中的输入值 我试着从我这边开始更改下拉列表中的值,但是如何在jquery中获得输入值呢?现在我得到输入字段的最后一个值 $x=1; foreach ($duration as $row) {?> <input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<
$x=1;
foreach ($duration as $row) {?>
<input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
<select name="Duration<?php echo $x;?>" class="form-control" id="Duration<?php echo $x;?>">
<option selected disabled >Select year</option>
<option value="12m" <?php if($row->Duration == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
<option value="6m" <?php if($row->Duration == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
</select>
<div id="results<?php echo $x;?>"></div>
<?php $x++;}
$(“.select”).change(函数(){
警报(“选择框的Id为”+此.Id);
警报(“选择框的值为”+this.Value);
});代码>
引导示例
表单控件:选择
下表包含两个下拉菜单(选择列表):
选择列表(选择一个):
1.
2.
3.
4.
选择列表销售项目(选择一个):
汽车
自行车
周期
汽车
我在您的代码中观察到一件事:
$x=1;
foreach ($duration as $row) {
<input type="hidden" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
<select name="Duration<?php echo $x;?>" class="form-control" id="Duration<?php echo $x;?>">
<option selected disabled >Select year</option>
<option value="12m" <?php if($row->Duration == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
<option value="6m" <?php if($row->Duration == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
</select>
<div id="results<?php echo $x;?>"></div>
}
$x=1;
foreach($行的持续时间){
您可以将输入
和选择
放入div
中。当下拉列表更改时,获取输入
同级
<?php
$x=1;
foreach ($duration as $row) {
?>
<div>
//Your input and select here
</div>
<?php } ?>
<script>
$('[id^="Duration"]').change(function () {
var input = $($(this).siblings("input")[0]); // get the input element
var id = input.attr("id"); //id of the input
var value = input.val(); //value of the input
alert(value);
});
</script>
//您的输入和选择在这里
$('[id^=“Duration”]')。更改(函数(){
var input=$($(this).sibbines(“input”)[0]);//获取输入元素
var id=input.attr(“id”);//输入的id
var value=input.val();//输入的值
警报(值);
});
您可以在代码的HTML部分使用onchange事件
$x=1;
foreach ($duration as $row) {?>
<input type="hidden" class="activeID" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
<select name="Duration<?php echo $x;?>" onchange="myfunction();" class="form-control" id="Duration<?php echo $x;?>">
<option selected disabled >Select year</option>
<option value="12m" <?php if($row->Duration == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
<option value="6m" <?php if($row->Duration == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
</select>
<div id="results<?php echo $x;?>"></div>
<?php $x++;}
尝试使用$(this)
在何处使用该元素?选择在foreach中???我建议将选择
和输入
放在相同的div
中,然后在更改下拉列表时,获取同级()
@sradha,是的,您可以检查问题。选择和输入字段都在foreach中。当然,谢谢:)是我的错,我忘了添加问题。我添加了问题。在视图源代码中,我得到了“activeId1”或“activeId2”等等。如果我尝试var selectID=$(this.attr('id'));然后它只显示下拉Id而不是输入值。忘记这一行,用户var value=$(this).val();这些返回到当前下拉选择值。我不想要当前下拉选择值。我已经得到了它。catcon,answer解决了我的问题。我想你必须再次检查我的代码,你编辑了我的代码并删除了$x++还删除了foreach之后的PHP标记。同样,在你的回答中,你没有使用输入字段。我有输入foreach中的字段,我需要该值。我刚刚给出了jquery的示例。这不是我的问题,但感谢您的回答,jquery已经在我的代码中共享了它,并且它正在工作。我需要在jquery中输入字段值,也就是说,不在您的答案中。感谢您的回答,在选择下拉列表后,我在控制台中得到了一个错误“TypeError:$(…).sibbines(…)[0].val不是函数“它给了我一个错误”TypeError:input.attr不是函数“@user9437856:对不起,我的错,兄弟姐妹们()[0]返回一个html元素,我必须将其解析为jquery对象。我更新了代码,请再试一次!是的,我终于得到了输出。@catcon,谢谢你的回答并理解我的问题。我只想知道“div”"。如果我在jquery中添加的div比我应该使用的多一个div?逻辑是一样的,你把放在警报中,我只是想知道它将如何在警报中显示输入字段值?@user9437856好的,我刚才在警报中显示了值和id。你可以删除id部分。@user9437856好的,我得到了你想要的,试试上面的代码告诉我你得到了什么输出。
<?php
$x=1;
foreach ($duration as $row) {
?>
<div>
//Your input and select here
</div>
<?php } ?>
<script>
$('[id^="Duration"]').change(function () {
var input = $($(this).siblings("input")[0]); // get the input element
var id = input.attr("id"); //id of the input
var value = input.val(); //value of the input
alert(value);
});
</script>
$x=1;
foreach ($duration as $row) {?>
<input type="hidden" class="activeID" name="activeID" id="activeID<?php echo $x;?>" value="<?php echo $row->activity_name_id;?>">
<select name="Duration<?php echo $x;?>" onchange="myfunction();" class="form-control" id="Duration<?php echo $x;?>">
<option selected disabled >Select year</option>
<option value="12m" <?php if($row->Duration == '12m' ){ echo 'selected="selected"'; } ?>>1 Year</option>
<option value="6m" <?php if($row->Duration == '6m' ){ echo 'selected="selected"'; } ?>>6 months</option>
</select>
<div id="results<?php echo $x;?>"></div>
<?php $x++;}
function myfunction () {
alert($(this).parent()); //what are you getting
alert($(this).parent().find(".activeID").value()); //what are you getting?
alert("Id of the select box is "+ this.id);
alert("Value of the select box is "+this.value );
};