好吧,说我有这个:
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果我想在值为'2'时获得"选项B",选择器会是什么样子?
请注意,这不是询问如何获取所选文本值,而是询问它们中的任何一个,无论是否选中,具体取决于value属性.我试过了:
$("#list[value='2']").text();
Run Code Online (Sandbox Code Playgroud)
但它没有用.
使用核心jQuery,如何删除选择框的所有选项,然后添加一个选项并选择它?
我的选择框如下.
<Select id="mySelect" size="9"> </Select>
Run Code Online (Sandbox Code Playgroud)
编辑:以下代码有助于链接.但是,(在Internet Explorer中).val('whatever')未选择已添加的选项.(我没有使用两个相同的"价值" .append和.val.)
$('#mySelect').find('option').remove().end()
.append('<option value="whatever">text</option>').val('whatever');
Run Code Online (Sandbox Code Playgroud)
编辑:试图让它模仿这个代码,每当页面/窗体重置时,我使用以下代码.此选择框由一组单选按钮填充..focus()更接近,但该选项似乎没有像它一样被选中.selected= "true".我现有的代码没有任何问题 - 我只是想学习jQuery.
var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";
Run Code Online (Sandbox Code Playgroud)
编辑:选择的答案接近我需要的.这对我有用:
$('#mySelect').children().remove().end()
.append('<option selected value="whatever">text</option>') ;
Run Code Online (Sandbox Code Playgroud)
但这两个答案都让我得到了最后的解决方案..
change()当值设置时,事件处理程序中的逻辑不会运行val(),但它会在用户使用鼠标选择值时运行.为什么是这样?
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<script>
$(function() {
$(":input#single").change(function() {
/* Logic here does not execute when val() is used */
});
});
$("#single").val("Single2");
</script>
Run Code Online (Sandbox Code Playgroud) 使用jQuery,如何检查在选择菜单中是否选择了选项,如果没有,则将其中一个选项指定为选中.
(选择是在我刚刚继承的应用程序中使用迷宫般的PHP函数生成的,所以这是一个快速解决方案,而我可以解决这些问题:)
假设我有这个包含以下选项的变量html:
var html = '<select>'+
'<option value="10">10</option>'+
'<option value="20">20</option>'+
'</select>';
Run Code Online (Sandbox Code Playgroud)
我如何以编程方式选择html变量中的选项,以便在我将它们附加到某个地方时,例如
$(this).children('div').append(html);
Run Code Online (Sandbox Code Playgroud)
它会变成这样:
<div> <!-- children div of the current scope -->
<select>
<option value="10" selected>10</option>
<option value="20">20</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
这怎么可能?
编辑:变量内容是从远程位置生成的,我必须在将值附加到div之前在本地更改它.因此,问题.
编辑2:对不起混淆,问题已根据我的实际情况进行了更新.
使用JQuery,我试图根据查询字符串在'select'元素中设置一个选项.
这个问题与此类似,但是我仍然需要知道如何在执行选择之前检查元素是否存在,否则页面将自动刷新(请参阅下面的退出条件).
使用函数getParameterByName获取查询字符串,它工作正常.
目前的实施如下:
function setSelectedItem(selectName, itemToSelect) {
///<summary>Selects an HTML option element inside a HTML select element based on the value from the query string.</summary>
///<param name="selectName" type="string">The partial name of the HTML select in which 'itemToSelect' must be selected</param>
///<param name="itemToSelect" type="string">The name of the query string parameter which value is the of the 'option' element to select.</param>
//If an items has already been selected, return
if ($('select[name*=' + selectName + ']')[0].selectedIndex != 0) return;
//Fetches …Run Code Online (Sandbox Code Playgroud) 我在下面的这个下拉列表中我已经从我需要在http://www.howtoclone.co.uk.gridhosted.co.uk/plasmid-builder上工作的实际页面中删除了我从其他地方传递了产品ID值页面到下面的jquery预选下拉列表'值'.当我在下面单独运行它时它起作用.
<select name="0product_id[]" class="groupSelect" id="groupsel_0" onchange="productbuilder.update(this.value,0);">
<option value="0" class="notag" id="id0_0">--Select--</option>
<option class="notag" value="338" id="id0_338" >Dual Promoter Puromycin Expression Plasmid - pSF-CMV-PGK-Puro > £114.00</option>
<option class="notag" value="282" id="id0_282" >EMCV IRES Puromycin Expression Plasmid - pSF-CMV-EMCV-Puro > £114.00</option>
<option class="notag" value="265" id="id0_265" >FMDV IRES Puromycin Expression Plasmid - pSF-CMV-FMDV-Puro > £114.00</option>
<option class="notag" value="101" id="id0_101" >Puromycin Selection Plasmid - pSF-CMV-Ub-Puro AscI > £114.00</option>
<option class="notag" value="105" id="id0_105" >Puromycin Selection SV40 Ori Plasmid - pSF-CMV-Ub-Puro-SV40 Ori SbfI > £114.00</option>
<option class="notag" …Run Code Online (Sandbox Code Playgroud) <tfoot>
<select>
<option value="222"></option>
<option value="2222">2222</option>
<option value="zaza">zaza</option>
</select>
</tfoot>
Run Code Online (Sandbox Code Playgroud)
我试过了:
$('tfoot select').val('zaza');
Run Code Online (Sandbox Code Playgroud)
$("tfoot select").val("zaza")Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tfoot>
<select>
<option value="222"></option>
<option value="2222">2222</option>
<option value="zaza">zaza</option>
</select>
</tfoot>Run Code Online (Sandbox Code Playgroud)
任何的想法 ?选择=使其选中=触发更改事件
我有一个简单的下拉菜单,有一些选项,例如:
<select name='music_style' id='palmsForm-music_style'>
<option value='1' >Alternative and Indie</option>
<option value='2' >Clubs and Dance</option>
<option value='3' >Country/Folk</option>
<option value='4' >Hard Rock/Metal</option>
<option value='5' >Jazz/Blues</option>
<option value='6' >R&B/Urban Soul</option>
<option value='7' >Rap and Hip-Hop</option>
<option value='8' >Rock/Pop</option>
<option value='9' >Other</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我使用API来创建表单,所以如果有一种方法通过jquery选择默认情况下应根据选项的值选择哪个选项.
这可能吗?谢谢你的帮助!
jquery ×9
javascript ×4
html-select ×3
select ×3
html ×2
dom ×1
forms ×1
input ×1
option ×1
selected ×1