2011-10-18 200 views
1

我試圖選擇<select>表單元素的選定值,並將該值附加到-R。 (這將用於後面的正則表達式匹配)。總之,到目前爲止,我已經試過如下:更改選項(選擇)元素的值?

嘗試1:

var country = $('select[name=g_country\\['+value+'\\]]').val(); 
$('select[name=g_country\\['+value+'\\]]').find('option[value=' + value +']').val(country + '-R'); 

嘗試2:

var country = $('select[name=g_country\\['+value+'\\]]').val(); 
$('select[name=g_country\\['+value+'\\]]').val(country + '-R'); 

我可以告訴大家,正確的形式元素的選擇(使用delete_x,其中x是一個數字)可以很好地工作,因爲單擊.select-delete時要禁用的表單元素,但是值設置沒有。底部的註釋部分是我一直用來檢查<select>元素後值更改(或應該後值更改)的值。

這裏有一個鏈接到我的jsfiddle:http://jsfiddle.net/gPF8X/11/

任何幫助/編輯/答案將不勝感激!

回答

0

最後想出了正確的選擇器,道具爲@gjohn的想法。

這是我最後的工作代碼,即適當增加-Rg_country[x]末:

$('.select-delete').click(function() { 
    var value = $(this).attr('id'); 
    value = value.replace('delete_', ''); 

    var country = $('select[name=g_country\\['+value+'\\]]').val(); 
    $('select[name=g_country\\['+value+'\\]] > option:selected').val(country + '-R'); 

    $('select[name=g_country\\['+value+'\\]]').attr('disabled','1'); 
    $('input[name=g_url\\['+value+'\\]]').attr('disabled','1'); 
    $(this).css('display', 'none'); 
}); 
1

試試這個:

$('.select-delete').click(function() { 
    var value = $(this).attr('id'); 
    value = value.replace('delete_', ''); 

    var country = $('select[name=g_country\\['+value+'\\]] option:selected').val() + '-R'; 
    alert(country); 

    $('select[name=g_country\\['+value+'\\]] option:selected').val(country); 

    $('select[name=g_country\\['+value+'\\]]').attr('disabled','1'); 
    $('input[name=g_url\\['+value+'\\]]').attr('disabled','1'); 
    $(this).css('display', 'none'); 
    var check = $('select[name=g_country\\['+value+'\\]]').val(); 
    $('#test').append(check); 
}); 

沒有您的HTML也是一個問題。

+0

的'的.text()'功能的工作原理與文本插圖中的HTML標籤,我需要做的是操縱價值,而不是內部的文字。另外,有沒有可能指出我有什麼HTML問題,因爲它對我來說很好? – Avicinnian

+0

對不起,我的HTML不好。我一定是幻覺。它的工作正常。 – gjohn

+0

更新了jquery代碼 - 它現在正在更新選擇菜單上的值。 – gjohn