我有這樣的代碼隱藏選定的選項:Javascript來隱藏所選選項
function connect()
{
$(".selectbox option").show();
$(".selectbox").each(function(i) {
var obj = $(".selectbox option[value='" + $(this).val() + "']");
if($(this).val() != "") obj.hide();
});
}
function to()
{
$(".selectboxes option").show();
$(".selectboxes").each(function(i) {
var obj = $(".selectboxes option[value='" + $(this).val() + "']");
if($(this).val() != "") obj.hide();
});
}
,但現在我的問題是,我使用PHP來生成選擇標籤,並在PHP代碼我有一個條件一旦它看到這個值,它會自動添加selected = selected。但我的JS仍然會在下拉列表中顯示該變量,即使它已被選中。我試圖加入:
$('.selectboxes option:selected').find("option").hide();
但它沒有工作。任何想法應該如何解決這個問題?
順便說一句:我忘了提及,PHP代碼將生成多個選擇標記與相同的值將使用該功能,因此,當我有3選擇標記1將有預先選定的值,其他2將是null,現在當我點擊其中沒有選定值的那兩個時,我仍然可以在下拉菜單中看到選擇1中已經預先選擇的選項,我想要做的就是它應該被自動隱藏,該功能它不會隱藏它,直到我從下拉菜單中選擇其他選項。因爲這行:
$(".selectbox option").show();
會顯示在下拉列表中的所有選擇,是否有條件免除「this」值?
SELECT PART:
for($z=0;$z<$rows_updatedrow;$z++)
{
?>
<select id = "sc" name = "connect_array[]" class="input-select selectbox" onchange = "connect()">
<option value = "">--Select--</option>
<?php
for($zz=0;$zz<$rows_getconnect;$zz++)
{
$data_getconnect = mysql_fetch_assoc($query_getconnect);
$field_name_getconnect[] = $data_getconnect['field_name'];
$field_display_getconnect[] = $data_getconnect['field_display'];
$field_type_getconnect[] = $data_getconnect['field_type'];
if((($field_name_getconnect[$zz] == "friends_name" && $connect == 2) || $field_type_getconnect[$zz] == "email") && $z == 0){
$selected = "selected=selected";
}else{
$selected = "";
}
?>
<option value = "<?php echo $field_name_getconnect[$zz]; ?>" <?php echo $selected; ?>><?php echo $field_display_getconnect[$zz]; ?></option>
<?php
}
?>
</select>
connect to
<br/>
<?php
}
?>
</div>
<div class = "right">
<?php
for($a=0;$a<$rows_updatedrow;$a++)
{
?>
<select name = "to_array[]" class="input-select selectboxes" onchange = "to()">
<option class = "option" value = "">--Select--</option>
<?php
for($aa=0;$aa<$rows_getto;$aa++)
{
$data_getto = mysql_fetch_assoc($query_getto);
$field_name_getto[] = $data_getto['field_name'];
$field_display_getto[] = $data_getto['field_display'];
$field_type_getto[] = $data_getto['field_type'];
if((($field_name_getto[$aa] == "friends_name" && $to == 2) || $field_type_getto[$aa] == "email") && $a == 0){
$selected = "selected=selected";
}else{
$selected = "";
}
?>
<option class = "option" value = "<?php echo $field_name_getto[$aa]; ?>" <?php echo $selected; ?>><?php echo $field_display_getto[$aa]; ?></option>
<?php
}
謝謝
是真的,現在就試試這個。謝謝 – magicianiam
它仍然在下拉菜單中找到。也會添加一些信息在我的問題 – magicianiam
您的選擇的選項的HTML將有所幫助:) –