2014-02-19 125 views
0

没有从我的网页这样的代码片段:绑定值下拉列表项目

timeout = setTimeout(function() {highlight(transfer);}, 1500); 

我需要的用户可以使用下拉1500值更改为其他值或复选框。谁可以帮助我呢?

回答

0

试试这个

var timeout; //populate as required from dropdown/checkboxes 
timeout = setTimeout(function() {highlight(transfer);}, timeout); 
+0

但随后的下拉菜单可以怎么做? – Edmvit

+0

使用jQuery:'timeout = $('#dropdownid')。val()'。但要确保超时值应该是整数。 –

0

简单的选择(不是自定义deropdown)的一个例子

HTML:

<select id="selectInterval" onChange="setNewValue.call(this,event)"> 
    <option value="">Select Interval</option> 
    <option value="1500">1,5 seconds</option> 
    <option value="2000">2 seconds</option> 
    <option value="2500">2,5 seconds</option> 
</select> 

JS:

var timeout; 
setNewValue= function(e){ 
    var _v = this.value; 
    if(typeof _v == "undefined" || _v == "") return; 
    timeout = setTimeout(function() {highlight(transfer);}, _v); 
} 

a working Example


的其他实施例在的jquery/CSS简单的自定义下拉:

HTML:

<div class="dropdown"> 
    <span class="evalued" rel="">Select Interval</span> 
    <ul class="options"> 
     <li class="item" style="display:none"><a class="selected" rel="">Select Interval</a></li> 
     <li class="item"><a rel="1500">1,5 seconds</a></li> 
     <li class="item"><a rel="2000">2,0 seconds</a></li> 
     <li class="item"><a rel="2500">2,5 seconds</a></li> 
    </ul> 
</div> 

CSS:

.dropdown{ 
    position: relative; 
    width:180px; 
    height:28px; 
    line-height:28px; 
    font-size:14px; 
    padding:0 10px; 
    margin:10px 0; 
    font-family:"helvetica"; 
    background-color:#f1f1f1; 
    border-color:#eee; 
    cursor:pointer 
} 
.dropdown .selected{ 
    z-index:200 
} 
.dropdown:hover .options{ 
    display:block 
} 
.dropdown .options{ 
    position:absolute; 
    display:none; 
    top:100%; 
    padding:0; 
    margin:0; 
    overflow:hidden; 
    width:100%; 
    left:0; 
} 
.dropdown .options li{} 
.dropdown .options li a{ 
    border-color:#eee; 
    display:block; 
    background-color:#f1f1f1; 
    padding:0 10px; 
} 
.dropdown .options li a:hover,.dropdown .options li a.selected{ 
    background-color:lightblue; 
    color:white; 
} 

JS:

var timeout; 
$(function(){ 
    setNewValue2 = function(){ 
     var _v = this.rel; 
     if(typeof _v == "undefined" || _v == "") return; 
     timeout = setTimeout(function() { 
      highlight(transfer); 
     }, _v); 
    } 

    $(".dropdown a").on("click",function(e){ 
     e.preventDefault(); 
     var _r = $(this).attr("rel"); 
     var _t = $(this).text(); 
     $(this).parents(".options").find(".item").show(); 
     $(this).parent().hide(); 
     $(this).parents(".dropdown").find(".evalued").prop({ 
      innerHTML : _t, 
      rel : _r 
     }); 
     setNewValue2.call(this); 
    }) 
}); 

working Example

+0

这些答案都不适合我。这个值应该动态改变。有一项功能是用户在文本框中输入一些文本。而且,我用户将鼠标移动到其中一个单词上,在1500毫秒后它变为标记。如果我尝试了您的建议之一,标记不起作用。如果你需要所有的代码,请问。 – Edmvit

+0

...呃...我真的不明白你需要什么。所以...列表试试我,看到这个:http://jsfiddle.net/Frogmouth/7PW9A/1/ – Frogmouth

-2
<!-- Our Dropdown --> 
<select id="timeout"> 
    <option>500</option> 
    <option>1000</option> 
    <option>1500</option> 
</select> 
<script> 
    var timeout; // we will keep selected value 

    $("#timeout").change(function(){ 
     timeout=$(this).val(); 
     timeout = setTimeout(function() {highlight(transfer);}, timeout); 
    }); 
</script> 
+0

这些答案都没有为我工作。这个值应该动态改变。有一项功能是用户在文本框中输入一些文本。而且,我用户将鼠标移动到其中一个单词上,在1500毫秒后它变为标记。如果我尝试了您的建议之一,标记不起作用。如果你需要所有的代码,请问。 – Edmvit