如何将选定的值传递给javascript

时间:2013-09-24 11:38:32

标签: javascript jquery select

我有一个选择表单,我显示数据库中的数据,每当我选择一个值,我想将它传递给javascript,但它将选定的值传递给javascript,当我运行它时,它显示window.location ='?行动= suppliernetwork&安培; supplier_id = undefined.thanks

HTML

 <select name="supplierselect" id="supplierselect" style="margin:0px 0px 0px 0px;background-color:#C2FFC2;width:125px;"> 
        <option>--Select--</option> 
        <?php
   include(db.php)

    $sql=mysql_query("select * from supplier");

    while($row=mysql_fetch_array($sql))
    {
     ?>
        <option value="1"><?php echo $row['supplier_id']; ?></option>
        <?php } ?>


    </select>

的javascript

$(function() {  //  document.ready
    $("#supplierselect").on("change", function() {
        var ID=$(this).attr('id');
        var supplier_id=$("#supplierselect"+ID).val();
        $.ajax({
            url: "suppliernetwork/select.php",
            type: "POST",
            data: {
                supplierselect: $(this).val()
            },
            success: function(data) {
                $("#display").html(data);
               window.location = '?action=suppliernetwork&supplier_id='+supplier_id+'';
                $("#flash").hide();
            }
        });
    });
});

2 个答案:

答案 0 :(得分:0)

var supplier_id=$("#supplierselect"+ID).val();undefined,因为它永远不会与您的<option>元素匹配,原因如下:

  1. 您没有为id元素分配任何<option>(例如,<option id="myid">...</option>
  2. 您的选择器语句("#supplierselect"+ID)需要一个类似于id="supplierselectmyid的值,例如ID == "myid"
  3. .val()<select>元素上调用<option>将返回分配给所选选项的value属性的值,而不是{{1}内的文本节点}}
  4. <option></option>属性设置为value或尝试$row['supplier_id'];

答案 1 :(得分:-1)

您的代码存在的问题是您没有设置<option>标记的ID。选择id是:

#supplierselectsupplierselect

没有包含id的对象。你需要做的是使用:

$("#supplierselect").val();