我一个客户的网站工作,它使用第三方库来填充dropdown
在选择代码发送修改数据是:由第三方JS
<select border="0" class="" id="country" style="" name="country" size="1" onchange="ChangeCountryAndStateLabel(
{
'obj' : this,
'targetObj' : '#state_cus1',
'sel' : '',
'id' : 'fields_state'
}
,
{
'obj' : this,
'targetObj' : '#fields_state_region',
'template' : '<LABEL>:'
});" >
<option value="" onclick="" >Select Country</option>
<option value="38" onclick="" >Canada</option>
<option value="223" onclick="" >United States</option></select>
将填充:
<div id="state_cus1" style="width:165px;">
<input type="text" id="fields_state" name="fields_state" value="" onchange="SetStateHid(this);"/>
</div>
与所有的州(如果我会选择美国)。
我想然后删除基于该值的条目。
选择美国会是这样的输出:
<div id="state_cus1" style="width:165px;">
<input type="text" id="fields_state" name="fields_state" value="" onchange="SetStateHid(this);"/>
</div>
<option value="AL" onclick="">Alabama (AL)</option>
etc etc etc...
一旦这个已被填充,我想删除基于价值等等。
所以要去除佛罗里达我想:
$("select > option[value*='FL']").remove();
但是,由于在JS为了运行,不等待,因为它是在select
是不断填充之前运行,这将无法工作的事实。
我将如何去仅在运行select
已填充后运行该功能?
EDIT
也尝试:
$(document).ready(function() {
$("#fields_state").on("change", function(){
$("#fields_state > option[value*='FL']").remove();
}
编辑2
OnChange
已被移除,以及将码已被移动到.ready()
ll(document).ready(function() {
ll("#country").change(function(){
ChangeCountryAndStateLabel({
'obj' : this,
'targetObj' : '#state_cus1',
'sel' : '',
'id' : 'fields_state'
},{
'obj' : this,
'targetObj' : '#fields_state_region',
'template' : '<LABEL>'
});
ll("#fields_state > option[value*='FL']").remove();
});
该方法仍填充了select
全部选项,但不删除FL条目。
添加代码在最后一个方框只是半和报价之间(; X“)在第一个框中的代码的onchange ATTRIB不会忘记。以牙签挑选你的内部引号 – dandavis
像这样:'}); $(“#fields_state> option [value * ='FL']”)。remove();“ >'? –
是的,但没有删除引号:'#fields_state>选项[值* = \'FL']' – dandavis