Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery使用下拉列表的值(而不是文本)更改下拉列表的值_Javascript_Jquery - Fatal编程技术网

Javascript Jquery使用下拉列表的值(而不是文本)更改下拉列表的值

Javascript Jquery使用下拉列表的值(而不是文本)更改下拉列表的值,javascript,jquery,Javascript,Jquery,我很难使用jquery更改下拉菜单的计算 <div class="input-box"> <select name="options[4]" id="select_4"> <option value="">-- Please Select --</option> <option value="24">Not Sure - Send Me Some Samples First </option>

我很难使用jquery更改下拉菜单的计算

<div class="input-box">
    <select name="options[4]" id="select_4">
    <option value="">-- Please Select --</option>
    <option value="24">Not Sure - Send Me Some Samples First </option>
    <option value="13">1 Jet Black </option>
    <option value="14">Blondette 4/27 </option>
    <option value="15">Boho Blonde 613/12 </option>
    <option value="16">Caramel 6 </option>
    <option value="17">Cherry 530 </option>
    <option value="18">Dirty Blonde 612/12 </option>
    <option value="19">Ebony Black 1b </option>
    <option value="20">Hot Toffee 4 </option>
    <option value="21">LA Blond 24/613 </option>
    <option value="22">Malibu Blonde 60/613 </option>
    <option value="23">Raven 2 </option></select>
</div>

好的,您没有选择
select
元素:

$j('.input-box:eq(0) select').val(theId);
”。输入框:eq(0)
仅选择div。
val()
方法对div没有影响

试试:

$j('.input-box:first select > option[value=' + theId + ']').attr('selected', 'selected');

我想出来了。这将使用“.input box”类循环通过div中包含的第一个SELECT。拉出ID和文本

$j('.input-box:eq(0) option').each(function() {

    theText=$j(this).text();
    itsId = $j(this).val();      

});
我使用它来拉出所有的值,并根据当前选项的下拉列表生成按钮。然后,我使用folloqing函数(onClick)更改下拉列表的选定值

function changeOption(theId) {
    //alert("Change to value number:"+theId);
    $j('.input-box select').val(theId); 
}

我需要能够使用包含div来选择下拉列表,因为选项的id会随着页面的变化而变化。所以我没有尝试这个选项。啊,编辑。Felix的方法更简洁(正如您可能已经注意到的:)$j('.input box:eq(0)select:selected').val(theId)@取消授权:
:不需要选择
。它只适用于
选项
元素:+1表示您的威严和我的跛脚:)和新年快乐@卡里姆79:谢谢(虽然我感觉不那么棒:D;)也祝你新年快乐@费利克斯——我感觉更糟,显然我(和朋友)吵了几架。我今天醒来时左臂上满是膏药,感觉像是锁骨骨折:)
function changeOption(theId) {
    //alert("Change to value number:"+theId);
    $j('.input-box select').val(theId); 
}