【问题标题】:Change Value of a Form Selectbox Affected by jquery.selectBox Plugin更改受 jquery.selectBox 插件影响的表单选择框的值
【发布时间】:2018-01-05 07:41:07
【问题描述】:

我在地址表单输入上有自动完成功能。当用户点击建议时,会自动填充州和邮政编码信息。 cp_state 是带有状态名称下拉列表的选择框,而 cp_zipcode 是邮政编码的输入文本。

我使用下面的 javascript 代码来执行更新值和禁用它的任务。

$('#cp_zipcode').val(data.postcode);
document.getElementById("cp_zipcode").value = data.postcode;
document.getElementById("cp_zipcode").disabled=true;

document.getElementById("cp_state").value = data.state;
$('#cp_state').val(data.state); 
$('#cp_state').change();
document.getElementById("cp_state").disabled=true;

上面的代码适用于邮政编码输入,一旦用户选择一个地址,邮政编码就会被填充和禁用以避免修改,不幸的是它不适用于状态选择框,不知道为什么,但我想可能是 jquery.selectBox.min.js?ver=1.2.0 插件正在影响任务,因为它会自动隐藏 cp_state 选择框并添加新样式,但不确定它在做什么。

表单域的 HTML

<input value="" name="cp_address" id="cp_address" type="text" class="text" placeholder="" />

<select name="cp_state" id="cp_state" class="dropdownlist required">
    <option value="">-- Select --</option>
    <option value="All State">All State</option>
    <option value="Johor">Johor</option>
    <option value="Kedah">Kedah</option>
    <option value="Kelantan">Kelantan</option>
    <option value="Wilayah Persekutuan Kuala Lumpur">Wilayah Persekutuan Kuala Lumpur</option>
    <option value="Wilayah Persekutuan Labuan">Wilayah Persekutuan Labuan</option>
    <option value="Melaka">Melaka</option>
    <option value="Negeri Sembilan">Negeri Sembilan</option>
    <option value="Pahang">Pahang</option>
    <option value="Wilayah Persekutuan Putra Jaya">Wilayah Persekutuan Putra Jaya</option>
    <option value="Perlis">Perlis</option>
    <option value="Pulau Pinang">Pulau Pinang</option>
    <option value="Perak">Perak</option>
    <option value="Sabah">Sabah</option>
    <option value="Selangor">Selangor</option>
    <option value="Sarawak">Sarawak</option>
    <option value="Terengganu">Terengganu</option>
</select>

<input value="57000" name="cp_zipcode" id="cp_zipcode" type="text" class="text" placeholder="Enter zipcode" />

有人可以解决这个问题吗,我需要在自动完成选择后自动更改选择框的值。我将非常感谢您的帮助。

【问题讨论】:

    标签: javascript jquery forms drop-down-menu autocomplete


    【解决方案1】:

    jquery selectBox 将自动隐藏您的选择元素并创建aul 列表作为显示。将上面的代码替换为

    $('#cp_zipcode').val(data.postcode);
    $('#cp_zipcode').attr('disabled', true);
    
    // set value
    $('#cp_state').selectBox('value', data.state);
    
    // 'enable' or 'disable` control
    $('#cp_state').selectBox('disable');
    

    【讨论】:

    • 成功了!我按照您的建议更改了代码,并且选择框在自动完成地址选择时填充了状态名称,并且被禁用以防止用户修改。谢谢我感谢你的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 2019-11-20
    • 2023-01-25
    相关资源
    最近更新 更多