将值传递给HTML <input />标记

时间:2014-04-07 03:23:38

标签: javascript php ajax

所以我有这个代码从下拉列表中获取值并显示HTML输入标记的相应值。我不知道如何从HTML输入标记的下拉传递值。请建议我使用onChange方法执行此操作,当用户选择其中一个值时,输入标记会更新。

我的代码是

function OnSelectionChange(str){     }

   $(function(){
    //show records
    $('#show').click(function(){
        $.post('data.php',
                            {action: "show", "hm":$('#headmark').val()},
                                      function(res){
            $('#result').html(res);
        });     
    });
});
</script>
<head>
<body>

<?php         
     $result = oci_parse($conn, 'SELECT HEAD_MARK FROM FABRICATION');
     oci_execute($result);

     echo '<SELECT name="headmark" id="headmark"  onchange="OnSelectionChange(this.value)">'.'<br>';
     echo '<OPTION VALUE=" ">'."".'</OPTION>';

     while($row = oci_fetch_array($result,OCI_ASSOC)){
     $HM = $row ['HEAD_MARK'];
     echo "<OPTION VALUE='$HM'>$HM</OPTION>";
     }
     echo '</SELECT><br />';
 ?>

 <!-- MAX PLACEHOLDER SHOULD BE GATHERED FROM THE QUANTITY FROM THE   CORRESPONDING           HEAD_MARK-->
  Cutting: <input name="cutting" type="number" min="currCutting" max="currQty"     id="fcutting" /><br />

<h2>Show Records</h2>
<button id="show">Show</button>
<p>Result:</p>

<div id="result"></div>

和update_attribute.php用于查询传递给输入标记中的最小值的切割值

 <?php

    $sql = "SELECT CUTTING FROM FABRICATION WHERE HEAD_MARK = '".$head_mark."'";

    $data_query = oci_parse($conn, $sql);

    oci_execute($data_query);

    while ($row = oci_fetch_assoc($data_query)){

    }
?>

2 个答案:

答案 0 :(得分:2)

您可以使用jquery.data()功能在OPTION代码中存储多个值。

 $HM = $row ['HEAD_MARK'];
 $CT = $row ['CUTTING']; 
 echo "<OPTION VALUE='$HM' data-cutting='$CT'>$HM</OPTION>";

然后你的js功能应该如下

function OnSelectionChange(str){ 
     var ct = this.data('cutting');
     $('#fcutting').val(str);
     $('#fcutting').attr('min',ct);

}

注意:&#34;数据剪切&#34;在html标记中必须小写。

答案 1 :(得分:1)

我假设您正在寻找

function OnSelectionChange(str){ 
     $('#fcutting').val(str);
}

其中fcutting是您给定的<input>

的ID