【问题标题】:Change SELECT value based on Input Text根据输入文本更改 SELECT 值
【发布时间】:2014-04-22 15:49:31
【问题描述】:
<input type="text" id="registersld" />
<select id="registertld">
{foreach key=num item=listtld from=$registertlds}
<option value="{$listtld}"{if $listtld eq $tld} selected="selected"{/if}>{$listtld}</option>
{/foreach}
</select>

这是一个域查找框,有一个用于域名的输入文本和一个用于扩展名的选择 - 如果用户在文本框中键入扩展名,我想添加一个更改 SELECT 的 JavaScript,例如“mydomain.net” (如果可用,将 SELECT 更改为 .net) - 最好的方法是什么? .改变?

该代码的实际输出:

<input type="text" id="registersld" size="30" value="">
<select id="registertld">
<option value=".com">.com</option>
<option value=".com.br">.com.br</option>
<option value=".net">.net</option>
<option value=".org">.org</option>
<option value=".info">.info</option>
<option value=".biz">.biz</option>
<option value=".tv">.tv</option>
<option value=".name">.name</option>
<option value=".ws">.ws</option>
<option value=".cc">.cc</option>
<option value=".blog.br">.blog.br</option>
<option value=".flog.br">.flog.br</option>
<option value=".vlog.br">.vlog.br</option>
<option value=".wiki.br">.wiki.br</option>
<option value=".adm.br">.adm.br</option>
<option value=".adv.br">.adv.br</option>
<option value=".agr.br">.agr.br</option>
<option value=".am.br">.am.br</option>
<option value=".arq.br">.arq.br</option>
<option value=".art.br">.art.br</option>
<option value=".ato.br">.ato.br</option>
<option value=".bio.br">.bio.br</option>
<option value=".bmd.br">.bmd.br</option>
<option value=".cim.br">.cim.br</option>
<option value=".cng.br">.cng.br</option>
<option value=".cnt.br">.cnt.br</option>
<option value=".coop.br">.coop.br</option>
<option value=".ecn.br">.ecn.br</option>
<option value=".edu.br">.edu.br</option>
<option value=".eng.br">.eng.br</option>
<option value=".esp.br">.esp.br</option>
<option value=".etc.br">.etc.br</option>
<option value=".eti.br">.eti.br</option>
<option value=".far.br">.far.br</option>
<option value=".fm.br">.fm.br</option>
<option value=".fnd.br">.fnd.br</option>
<option value=".fot.br">.fot.br</option>
<option value=".fst.br">.fst.br</option>
<option value=".g12.br">.g12.br</option>
<option value=".ggf.br">.ggf.br</option>
<option value=".gov.br">.gov.br</option>
<option value=".imb.br">.imb.br</option>
<option value=".ind.br">.ind.br</option>
<option value=".inf.br">.inf.br</option>
<option value=".jor.br">.jor.br</option>
<option value=".lel.br">.lel.br</option>
<option value=".mat.br">.mat.br</option>
<option value=".med.br">.med.br</option>
<option value=".mil.br">.mil.br</option>
<option value=".mus.br">.mus.br</option>
<option value=".net.br">.net.br</option>
<option value=".nom.br">.nom.br</option>
<option value=".not.br">.not.br</option>
<option value=".ntr.br">.ntr.br</option>
<option value=".odo.br">.odo.br</option>
<option value=".org.br">.org.br</option>
<option value=".ppg.br">.ppg.br</option>
<option value=".pro.br">.pro.br</option>
<option value=".psc.br">.psc.br</option>
<option value=".psi.br">.psi.br</option>
<option value=".qsl.br">.qsl.br</option>
<option value=".rec.br">.rec.br</option>
<option value=".slg.br">.slg.br</option>
<option value=".srv.br">.srv.br</option>
<option value=".tmp.br">.tmp.br</option>
<option value=".trd.br">.trd.br</option>
<option value=".tur.br">.tur.br</option>
<option value=".tv.br">.tv.br</option>
<option value=".vet.br">.vet.br</option>
<option value=".zlg.br">.zlg.br</option>
</select>

【问题讨论】:

    标签: jquery select text input


    【解决方案1】:

    尝试像这样的更改处理程序

    jQuery(function ($) {
        $('#registersld').on('change', function () {
            var value = this.value,
                parts = this.value.split('.'),
                str, $opt;
            for (var i = 0; i < parts.length; i++) {
                str = '.' + parts.slice(i).join('.');
                $opt = $('#registertld option[value="' + str + '"]');
                if ($opt.length) {
                    $opt.prop('selected', true);
                    break;
                }
            }
        })
    })
    

    演示:Fiddle

    【讨论】:

    • 完美运行。非常感谢 - 我将尝试在此处进行编辑以从输入文本中删除扩展名,同时更改 SELECT(它不能像 mydomain.com (.com))
    • 我真的是 JS 的菜鸟,仍然无法做到 - 你能修改你的脚本来解决这个问题吗?
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2019-09-17
    • 2013-02-22
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    相关资源
    最近更新 更多