更改函数后ajax之后的选择框的值

时间:2014-12-08 12:26:39

标签: php jquery ajax forms select

我有一个选择框,在更改时显示另一个带有ajax的选择框,但问题是我的PHP表单不带第二个选择框的任何值。 有一些我的代码。

所以这是我的ajax功能:

$(document).ready(function(){
    $("select[name=link]").change(function(){
        $.ajax({
            type:"post",
            url:"fns/site.php",
            data:$("#formm").serialize(),
            success:function(data){
                $("#link").html(data);
            }
        });
    });
});

我应该获得所有价值的表格:

<table>
<form method="get" id="formm">
<tr>
    <td>
        <select name="link">
            <option value="0" selected disabled>Select</option>
            <option value="0" disabled>Site</option>
                <option class="sub" value="1">Link 1</option>
                <option class="sub" value="2">Link 2</option>
            <option value="3">Link 3</option>   
        </select>
    </td>
</tr>
<tr id="link">

</tr>
</form>
</table>

和site.php文件:

$site=mysql_query("SELECT * FROM `site`");
echo '<td><select name="site">';
echo '<option value="0">Select</option>';
while($site1 = mysql_fetch_assoc($site)){
    echo '
        <option value="'.$site1['id'].'">'.$site1['title'].'</option>
    ';
}
echo '</select></td>';

所以我毕竟没有“网站”的值选择框...

2 个答案:

答案 0 :(得分:0)

如果你的site.php文件没有在sql条件中使用link的值,你为什么使用ajax函数?

你可以使用一个简单的css显示,如下所示:

&#13;
&#13;
<table>
<form method="get" id="formm">
<tr>
    <td>
        <select name="link">
            <option value="0" selected disabled>Select</option>
            <option value="0" disabled>Site</option>
                <option class="sub" value="1">Link 1</option>
                <option class="sub" value="2">Link 2</option>
            <option value="3">Link 3</option>   
        </select>
    </td>
</tr>
<tr id="link">
    <td>
        <select name="site" id="site" style="display:none;">
            <option value="0">Select</option>  
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
        </select>
    </td>
</tr>
</form>
</table>
&#13;
&#13;
&#13;

在ajax函数中:

&#13;
&#13;
$(document).ready(function(){
    $("select[name=link]").change(function(){
        $("#site").css("display", "");
    });
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

好的,所以有人建议我摆脱桌面并使用<label>来格式化表单。 这就是全部:))

表格应如下所示:

<form method="get" id="formm">
<label></label>
    <select name="link">
        <option value="0" selected disabled>Select</option>
        <option value="0" disabled>Site</option>
            <option class="sub" value="1">Link 1</option>
            <option class="sub" value="2">Link 2</option>
        <option value="3">Link 3</option>   
    </select>
<div id="link">
</div>
</form>