从php动态生成的select中获取值jquery

时间:2015-06-16 09:19:24

标签: javascript php jquery mysql

我有一个PHP脚本,显示一些动态选择。我想从jquery脚本中的每个select中获取值。一个想法来帮助我?

PHP

$result = mysql_query("select * from $table where id='$id'");
$r = mysql_fetch_array($result);
$result[1]=$r['result_1'];
$result[2]=$r['result_2'];
$result[3]=$r['result_3'];
$result[4]=$r['result_4'];
$result[5]=$r['result_5'];

for($i=1;$i<=5;$i++)
{
    if($result[$i]!="0")
    {
     echo '<select id="myresult_$i"><option value="$result[$i]">$result[$i]</option></select>';
    }
}

echo '<div class="addmyprod" id="addprod_'.$id.'" idprod="'.$id.'">ADD</div>';

JQUERY

$(".addmyprod").on('click', function() 
{
    var idprod= $('#addprod_'+$(this).attr('idprod')).attr('idprod');
    console.log(idprod);

    var myresult_1= ?????
    console.log(myresult_1);

    var myresult_2= ?????
    console.log(myresult_2);

    var myresult_3= ?????
    console.log(myresult_3);

    var myresult_4= ?????
    console.log(myresult_4);

    var myresult_5= ?????
    console.log(myresult_5);

}); 

谢谢!

4 个答案:

答案 0 :(得分:2)

只需将自定义类添加到您的选择标记: -

for($i=1;$i<=5;$i++)
{
    if($result[$i]!="0")
    {
     echo '<select class="wdm_select" id="myresult_$i"><option value="$result[$i]">$result[$i]</option></select>';
    }
}

在js中,放在下面的代码: -

$(".addmyprod").on('click', function() {
    $('.wdm_select').each(function() {
        console.log($(this).val());
    });
});

答案 1 :(得分:0)

var myOpts = document.getElementById('yourselect').options;
my_result1 = myOpts[1];
my_result2 = myOpts[2];
etc...

来自How to get all options of a select using jQuery?

很容易找到谷歌....

答案 2 :(得分:0)

构建你的html并添加类'selectField'。此外,当您使用select时,您需要在元素中添加元素选择条件。

for($i=1;$i<=5;$i++)
{
    if($result[$i]!="0")
    {
     echo '<select class="selectField" id="myresult_$i"><option value="$result[$i]">$result[$i]</option></select>';
    }
}

你的js将如下:

$(document).ready(function(){
  $('select[class="selectField"]').each(function(index,item){
    var id=$(item).attr('id');
    alert($("#"+id+" option:selected").val()); 
  });
});

答案 3 :(得分:0)

我真的不了解你的情况。你的代码应该如何工作? ADD div代表什么?

如果您的所有选择都具有相同类型的ID(应该是myresult_X),那么通过使用像Anik之类的查询来获取所有选择值的方法:

$('select[id^="myresult_"]').each(function() {
  console.log($(this).val());
});

根据JQuery API doc,选择器^=代表&#34;属性以&#34;开头。