0

デフォルトで無効になっている送信ボタンがあり、src 属性にグレー表示された画像があります。

HTMLは次のとおりです。

<form>
<select id="item_location">
    <option value="">- Choose Destination -</option>
    <option value="US">US</option>
    <option value="CN">Canada</option>
    <option value="IN">International</option>
</select>

<input class="submit" type="image" src="http://website.com/images/btn_buynow_LG--disabled.png" border="0" name="submit" disabled>
</form>

デフォルトでは、ユーザーは国を選択する必要があります。値を持つ国が選択されたら、ドロップダウン オプションの値が空白でない限り、画像を更新して無効な属性を削除したいと思います。

これは私がこれまでに思いついたjQueryですが、選択したitem_location選択ボックスの値に基づいて無効化された属性を切り替える必要があります。

function submitButton() {
    jQuery(".submit").change(function() {
        if (jQuery("#item_location") !== "" {
            jQuery(".submit").attr("src", "http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif").removeAttr("disabled");     
        });
    });
}
4

3 に答える 3

1

あなたはこれを行うことができます:

jQuery(".submit").prop("disabled", jQuery("#item_location").val() === "")

これにより、値が空submitの場合は無効になり、そうでない場合は有効になります。item_location

アップデート

// Cache the submit button
var $submit = jQuery(".submit");

// Disable the button based on the dropdown value
$submit.prop("disabled", jQuery("#item_location").val() === "");

// Change the src image, based on disabled attribute of submit button
$submit.prop("src", function (i, val) {
    return $submit.prop("disabled") ? 'old_image_src' : 'new_image_src';
});
于 2013-11-07T13:24:16.437 に答える
0

.val()ドロップダウンリストの選択された値を取得するために使用します

if (jQuery("#item_location").val() !== "") {
                             ^           ^ //added ) here

またはより良い使用.prop()

jQuery(".submit").prop("disabled", jQuery("#item_location").val() === "")

.prop() と .attr()を読む


OPのコメント後に更新

jQuery(".submit").prop("src", "http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif");
于 2013-11-07T13:23:15.713 に答える
0

これを試して。

jQuery("#item_location").change(function() {
    if (this.value) {
        jQuery(".submit").prop("src", "http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif").removeAttr("disabled"); 
    }

})
于 2013-11-07T13:24:17.087 に答える