从div中获取数字并使用相同数量的选项填充选择下拉列表

时间:2012-05-09 20:53:36

标签: jquery forms drop-down-menu

我正在尝试使用与单独div中的数字相同数量的选项填充选择下拉列表。

例如,如果div中的值为“3”,我需要使用3个选项填充选择下拉列表....例如:

<select name="quantity">
<option>1</option>
<option>2</option>
<option>3</option>
</select>

如果div中的数字更改为6 - 那么它将使用6个选项填充选择。

任何帮助非常感谢!感谢。

3 个答案:

答案 0 :(得分:1)

这是你想要的吗?

http://jsfiddle.net/Sgqjg/

html是:

<div id="changeMe">9</div>

<select name="quantity" id="populateMe">
</select>

,脚本是:

var num = parseInt($("#changeMe").text());
var opt = '';
for(i=1;i<=num;i++){
     opt +=  "<option value='" + i + "'>" + i + "</option>";
}
$("#populateMe").html(opt);

编辑:追加并转换为int每个循环中div的文本值会减慢进程。

答案 1 :(得分:0)

每当更改div时调用此代码。假设你的div的id是&#39; otherDiv&#39;并且您的下拉列表的ID是“您的选择”

var count = parseInt ( $("#otherDiv").html() );

var options = "";
for (var x = 1; x<= count; x++)
{ 
   options += "<option>" + x + "</option>";
}

$("#yourSelect").htmml(options);

(这需要jquery)

答案 2 :(得分:0)

JS:

var $sel = $("select");

$("input").keyup(function () {
    $sel.empty();
    var howMany = parseInt($(this).val(), 10);
    for (var i = 1; i <= howMany; i++) {
        $sel.append("<option value='" + i + "'>" + i + "</option>");
    }
});​

高度抛光的布局:

<select></select>
<input />
​​​​​​​​​​​​​​​​​​​​​​

Demo.