ajax表单选择更新不与jNice一起使用

时间:2010-12-22 18:48:35

标签: jquery

是jquery和ajax的新手,我有一个小问题,我相信它有一个简单的解决方法!我有一个表单选择使用jquery和ajax从数据库调用更新,当我用jNice包装表单时,ajax更新停止工作。我已经四处搜索,发现使用$ .jNice.SelectUpdate函数可以解决问题,但无法使其工作,我们将不胜感激。

使用代码编辑:

function getLocation() {
$.ajax({
    type:"POST",
    url: "formdata.asp",
    dataType: "application/x-www-form-urlencoded",
    data: "Action=GetLocation&Val=" + $("#area").val(),
    async: false,
    success: function(msg){ 
        $("label[id$=Two]").add("select[id$=Two]").remove();
        $("#loclist").append(msg);
    }
})
}

(没有jNice类,第二种形式选择更新)

<form class="jNice" method="post" action="searchresults.asp">
<fieldset id="loclist">
<legend id="lgdloclist" title="Locations">Locations</legend>
<label id="lblOne" for="ddlOne" title="Select an Option">Select an Option:</label>
    <select id="area" style="width:175px; display:block;">
    <option value="">Choose..</option>
    <option value="hse">HSE</option>
    <option value="nvq">NVQ</option>
    <option value="made4">Made4</option>
</select>
<br />
</fieldset>
<input type="submit" name="submit" value="Search" />
</form>

1 个答案:

答案 0 :(得分:1)

你需要在ajax success方法中做两件事:

(1)使用以下内容更新select options的{​​{1}}列表here有关更新select的一些有用信息S:

var selectEl = $("#area").get(0);
select.options[selectEl.options.length] = new Option("1234", "1234");

您需要将$.ajax调用中的数据放入Option构造函数中。

(2)调用jNice的SelectUpdate函数:

$.jNice.SelectUpdate(selectEl);

在此处查看一个简单示例(点击“搜索”时会添加一个新选项):http://jsfiddle.net/andrewwhitaker/w5wwy/