0

我有一个带有动态选择框的表单(从数据库中提取)。我想让用户能够在不离开表单的情况下添加到该选择框。当用户单击选择框旁边的链接时,我希望弹出一个厚框(或模式窗口)。厚框弹出窗口将有一个表单,用户可以在其中输入要在选择框中显示的新值。当用户单击提交时,厚框(或模式)弹出窗口关闭,并仅刷新他们添加到的选择框......从而保留表单上的所有其他数据。作为奖励,我还希望选择框选择刚刚添加的值。

我找到了一些相近的例子,但没有完全一样的。我看到的最接近的东西是这里的 jquery 的 AddToList 插件:http://pelicansareevil.com/jquery/addtolist -但它不使用厚框样式的弹出窗口。

我已经接近获得这个工作的厚盒版本,但是当厚盒关闭时,我似乎无法自动刷新选择框。

4

2 回答 2

0

下面的代码将插入到关闭厚盒时调用的函数中。您可能还想添加一些代码以在它们关闭厚框后清除文本框。

如果你有两个这样的输入......

<input name="newValue" type="text" />
<input name="newName" type="text" />

那么你可以这样做...

var newValue = $('input[name="newValue"]').val();
var newName = $('input[name="newName"]').val();

// Removes the selected attribute from your current options
$('#mySelect option:selected').removeAttr("selected");

// Adds a new option with the selected attribute
$('#mySelect').append('<option selected="selected" value="' + newValue + '">' + newName + '</option>');
于 2009-12-18T17:57:18.180 回答
0

我认为主要问题是当ThickBox 关闭时您无法捕捉到该事件。据我所知,ThickBox 本身并不支持回调,您可以在其中传递一个在模式窗口关闭时调用的函数。但是,您可以尝试对thickbox cb_thickbox进行此添加(将其替换为您当前的ThickBox 脚本)。它为ThickBox 插件添加了一个回调函数。

只需在脚本中定义此函数

var TB_callback = function(){alert("Now I can update my combobox!")};
于 2009-12-18T18:10:57.937 回答